pg_probackup
pg_probackup copied to clipboard
postgrespro-1c-15 и pg_probackup-15
Здравствуйте! Есть Debian 11 на нем установолен postgrespro 15 для 1С и утилита pgprobackup-15 для ванильной версии. При попытке сделать backup получаем ошибку:
superuser@srv-pg:~$ sudo pg_probackup-15 init -B /backup/
INFO: Backup catalog '/backup' successfully initialized
superuser@srv-pg:~$ sudo pg_probackup-15 add-instance -B /backup --instance srv-pg --pgdata /var/lib/pgpro/1c-15/data/
INFO: Instance 'srv-pg' successfully initialized
superuser@srv-pg:~$ sudo pg_probackup-15 show -B /backup
BACKUP INSTANCE 'srv-pg'
=================================================================================================================
Instance Version ID Recovery Time Mode WAL Mode TLI Time Data WAL Zratio Start LSN Stop LSN Status
=================================================================================================================
superuser@srv-pg:~$ sudo pg_probackup-15 backup -B /backup -b FULL --stream --instance srv-pg --pgdata /var/lib/pgpro/1c-15/data/
INFO: Backup start, pg_probackup version: 2.5.12, instance: srv-pg, backup ID: RU6CAT, backup mode: FULL, wal mode: STREAM, remote: false, compress-algorithm: none, compress-level: 1
ERROR: could not connect to database root: подключиться к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Нет такого файла или каталога
Сервер действительно работает локально и принимает подключения через этот сокет?
WARNING: Backup RU6CAT is running, setting its status to ERROR
Но дело в том, что pgprobackup ищет файл .s.PGSQL.5432 в каталоге "/var/run/postgresql А он создается по умолчанию в каталоге /tmp. Можно в файле конфигурации поменять параметр unix_socket_directories ='/tmp' на '/var/run/postgresql' ? Но тогда получаем:
superuser@srv-pg:~$ sudo -u postgres psql postgres
psql: ошибка: подключиться к серверу через сокет "/tmp/.s.PGSQL.5432" не удалось: Нет такого файла или каталога
Сервер действительно работает локально и принимает подключения через этот сокет?
Как корректно решить эту ошибку? Можно ли надеяться на появление отдельной версии pgprobackup для сборки postgrespro для 1С?
А если Вы psql
без изменения настроек коннектитесь - всё нормально срабатывает?
Мы используем обычную libpq поэтому у нас работают все её настройки, например Вы могли бы сделать вот так:
export PGHOST=/tmp
По дефолту после устанавки все срабатывает нормально:
superuser@srv-pg:~$ sudo -u postgres psql postgres psql (15.2)
Введите "help", чтобы получить справку.
postgres=#
superuser@srv-pg:~$ export
declare -x PGHOST="/tmp"
superuser@srv-pg:~$ sudo pg_probackup-15 backup -B /backup -b FULL --stream --instance srv-pg --pgdata /var/lib/pgpro/1c-15/data/
INFO: Backup start, pg_probackup version: 2.5.12, instance: srv-pg, backup ID: RU6KXT, backup mode: FULL, wal mode: STREAM, remote: false, compress-algorithm: none, compress-level: 1
ERROR: could not connect to database root: подключиться к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Нет такого файла или каталога
Сервер действительно работает локально и принимает подключения через этот сокет?
WARNING: Backup RU6KXT is running, setting its status to ERROR
Вроде ничего не изменилось... та же ошибка.
Ну как бы СОВСЕМ изменилось
sudo -u postgres psql postgres
это от пользователя постреса
sudo pg_probackup-15 backup -B /backup -b FULL ....
а это как бы уже от рута системы
ERROR: could not connect to database root:
явное указание на траблу
Я это в кроне от от пользователя postgres или если у пострела запрещён вход и нет шеллаковое то сначала вот так sudo su -s /bin/bash -l postgres
а потом я уже пользователя postgres