Задать вопрос
  • Можно ли перенести файл с партицией из таблицы в одной БД Postgresql в другую БД?

    fzfx
    @fzfx
    18,5 дм
    нет, нельзя.
    этому мешает то, что если вы выполните перечисленные шаги, то это ничего не даст в лучшем случае, и "уронит" обе БД в худшем (и наиболее вероятном).
    проблемы начинаются с этого шага: "потом средствами OS перенести файл (именно файл)". во-первых, партиция - это не файл, а набор файлов в общем случае (файлов может быть более одного). во-вторых, файлы таблицы-партиции не самодостаточны, в частности, описание самой таблицы-партиции находится в pg_catalog вместе с другими таблицами и неотделимо от них на уровне работы с файловой системой.
    так что вам надо смотреть в сторону тех способов миграции данных, которые имеются в документации: снятия и восстановления дампа таблицы-партиции, либо же написания своего кода по миграции данных.
    Ответ написан
    Комментировать
  • Как выполнить миграции в Docker?

    fzfx
    @fzfx
    18,5 дм
    в healthcheck в команду нужно добавить параметр -h 127.0.0.1, только в этом случае healthcheck будет отрабатывать правильно.
    Ответ написан
  • RHEL 9 KVM можно ли пробросить usb?

    fzfx
    @fzfx
    18,5 дм
    да. как - описано тут: https://www.linux-kvm.org/page/USB_Host_Device_Ass...
    Ответ написан
    Комментировать
  • Как скачать docker image с официального сайта elastic.co?

    fzfx
    @fzfx
    18,5 дм
    Посоветую скачать elasticsearch с docker.io, разумеется: https://hub.docker.com/_/elasticsearch
    Ответ написан
    1 комментарий
  • Не выполняются команды после подключения к БД в postgres?

    fzfx
    @fzfx
    18,5 дм
    Если при выполнении через docker/podman команды в контейнере (параметр exec) предполагается, что потребуется пользовательский ввод (т. е., как в вопросе выше, не только запустить psql, но и вводить команды для него), то важно не забывать про параметр -i docker/podman, который и обеспечивает работу ввода (передачу команд с клавиатуры запущенной через exec в контейнере программе).
    Обеспечиваемый параметром -i функционал не "бесплатен" (требует ресурсов системы и подвержен блокировкам либо является их источником), именно поэтому он вынесен в отдельный параметр, что позволяет для программ, требующим пользовательского ввода (или, правильнее сказать, ввода через stdin), предоставить его, задействовав соответствующие ресурсы и механизмы; при запуске программ, не требующих такового ввода, в свою очередь, опустив параметр -i, можно исключить их блокирование по вводу через stdin (возможно ошибочному или непреднамеренному), не выделять на обработку ввода ресурсы.
    Ответ написан
    Комментировать
  • Локация с proxy_pass и location ~* в nginx?

    fzfx
    @fzfx
    18,5 дм
    я не сильно много что понял из вопроса.
    такой вариант вас не устроит?
    location ~* {
        proxy_pass http://127.0.0.1:8080;
    }
    Ответ написан
  • Почему в patroni не применяется отредактированный конфиг через edit-config?

    fzfx
    @fzfx
    18,5 дм
    я так и не понял, какое значение вы ставите. буду исходить из того, что вы обозначили как "изменения".
    min_wal_size не может быть равен 0, соответственно некорректное значение не применяется. минимальное значение для него - 2.
    Ответ написан
  • Windows Server как объединить 2 10Гбит/с порта?

    fzfx
    @fzfx
    18,5 дм
    В вашем кейсе (копирование файлов и iperf) LACP вам не даст более чем 10 Гбит/с. LACP не предназначен для того, чтобы раскидывать по разным интерфейсам трафик, идущий от одной конкретной машины к другой конкретной машине.
    Чтобы дало более 10 Гбит/с - вам нужно соблюсти условие, при котором часть данных пойдёт по первому интерфейсу, а часть - по второму. Как правило данное условие - это I = (A XOR B) % NOA, где A - это MAC-адрес источника, B - MAC-адрес приёмника, NOA - количество адаптеров в агрегации, а I - интерфейс из агрегации.
    Другими словами, запускайте 2 iperf'а, обеспечив им такие src MAC и dst MAC, чтобы остаток от деления операции XOR по src MAC и dst MAC на 2 для первого iperf'а был один, а для второго - другой.
    Ответ написан
    4 комментария
  • Как захватить все запросы с trailing slash на конце?

    fzfx
    @fzfx
    18,5 дм
    вот так будет работать:
    location ~ /$ {
    ...
    }
    Ответ написан
    Комментировать
  • От чего зависит количество единоверменных запросов, которые может обрабатывать БД?

    fzfx
    @fzfx
    18,5 дм
    это в общем случае определяется параметром max_connections.
    в случае, если количество подключений к серверу достигло данного максимума, то в новых подключениях будет отказано, пока не освободится одно из занятых подключений.
    если подключение установлено, то по нему может быть передан на выполнение запрос. он начнёт выполняться и, в зависимости от настроек таймаутов, от того, какие блокировки и на какие объекты имеются в СУБД и какой уровень изоляции используется, запрос либо выполнится; либо выполнится частично и встанет в ожидание освобождения какой-то из блокировок, и после освобождения продолжит выполняться; либо подождёт освобождения блокировки и прервётся по таймауту (результат такого частичного выполнения откатится); либо выполнится частично и прервётся по нарушению сериализации (результат такого частичного выполнения откатится).
    вроде ничего не забыл.
    Ответ написан
    3 комментария
  • Как при деплое тг бота на сервер решить вопрос с подключением к БД PostgreSQL?

    fzfx
    @fzfx
    18,5 дм
    Не могу никак найти годный ресурс, в котором можно почитать и понять, что мне требуется.


    Один из самых годных ресурсов - документация. В частности, разделы про подключение и аутентификацию:
    https://postgrespro.ru/docs/postgresql/16/runtime-...
    https://postgrespro.ru/docs/postgresql/16/client-a...

    PostgreSQL на сервере уже установил, даже создал БД, но подключить не получилось к боту.


    Вам следует привести получаемое сообщение об ошибке в таком случае.
    И я бы ещё рекомендовал попробовать попробовать подключиться с помощью клиента psql (он у вас уже установлен, коль вы поставили сервер postgresql) и добавить сюда и его сообщение об ошибке, поскольку с трейсами питона обычно разбираться мало кому охота (не говоря уже о том, что в них не всегда есть что-то внятное по проблеме подключения).

    Вы пишите, что настройки в .env-файле у вас стандартные. Вместе с тем у вас в .env задан пароль пользователя postgres, а в стандартной поставке postgresql в Linux у пользователя postgres пароля нет (и подключения под этим пользователем принимаются только с local-авторизацией на unix-сокет, по TCP/IP вы не подключитесь).
    Так что в вашем случае я бы сначала через sudo залогинился под root, через su переключился на пользователя ОС postgres, подключился к СУБД из терминала с помощью psql, создал нового пользователя СУБД, затем назначил бы ему пароль, а уже эти логин и пароль нового пользователя использовал бы в .env.
    https://postgrespro.ru/docs/postgresql/16/sql-crea...
    Ответ написан
    4 комментария
  • Почему при установке Sequelize, не устанавливается pgAdmin?

    fzfx
    @fzfx
    18,5 дм
    вам нужно поставить pgAdmin4 или что-то, в состав чего pgAdmin4 входит.
    в состав squelize pgAdmin4 не входит. в состав PostgreSQL pgAdmin4 входит, насколько я знаю, только в тот, который поставляется EDB. какой Postgres в ставили - вы не написали. очевидно либо не от EDB, либо от EBD, но не выбрали установку pgAdmin4 вместе с ним.
    Ответ написан
    Комментировать
  • Какое ядро использует Debian?

    fzfx
    @fzfx
    18,5 дм
    GNU/Linux. ванильное ядро собирают со своей конфигурацией без несвободных включений.
    Ответ написан
    Комментировать
  • Ошибка при использовании grep на сервере?

    fzfx
    @fzfx
    18,5 дм
    У меня стойкое ощущение, что ваш греп залип на работе с каким-то устройством или FIFO-буфером. Можете попробовать добавить параметр --devices=skip, чтобы пропускать (игнорировать) всё, кроме файлов и симлинков.
    Ответ написан
    1 комментарий
  • Как найти точное совпадение через regexp?

    fzfx
    @fzfx
    18,5 дм
    cat log | grep -P 'FastEthernet0/2(?!\d)'
    Ответ написан
    Комментировать
  • Не удаестся подключиться к websocket серверу?

    fzfx
    @fzfx
    18,5 дм
    так же настроен под ssl

    тогда и в nginx должно быть не proxy_pass http://localhost:8831;, а proxy_pass https://localhost:8831;
    Ответ написан
    Комментировать
  • Можно ли записать данное sed выражение в одну строку?

    fzfx
    @fzfx
    18,5 дм
    как вариант:
    sed -i '1,40{/alb.ingress.kubernetes\/group.name:/a\'$'\n''\ \ \ \ alb.ingress.kubernetes\/load-balancer-attributes:\ "access_logs.enabled"'$'\n''}' deployment.yaml
    Ответ написан
    Комментировать
  • Как добиться корректной остановки postgres при остановке контейнера docker?

    fzfx
    @fzfx
    18,5 дм
    Попробуйте заменить
    su postgres -c '/opt/pgpro/bin/postgres'
    на
    setpriv --reuid=UID --regid=GID --init-groups postgres /opt/pgpro/bin/postgres
    , заменив UID на UID пользователя postgres в контейнере; GID на GID группы postgres в контейнере.
    Ответ написан
    Комментировать
  • Как в логах постгреса идентифицировать к какому запросу относится ROLLBACK?

    fzfx
    @fzfx
    18,5 дм
    я не уверен, но если вы настроите log_line_prefix таким образом, что в нём будет отображаться PID процесса, то вам будет достаточно найти в логе запись с тем же PID процесса, предшествующую записи с ROLLBACK.
    Ответ написан
    Комментировать