postgrespro / pg_probackup

Backup and recovery manager for PostgreSQL
https://postgrespro.github.io/pg_probackup/
Other
703 stars 86 forks source link

Где или как указать socket postgres для pg_probackup-16 #626

Closed EuLeEr closed 1 month ago

EuLeEr commented 1 month ago

Команда pg_probackup-16 backup -B ~/backup -b FULL --instance=1cnode --compress-algorithm=zlib -d ERP2Demo возвращает ERROR: could not connect to database ERP2Demo: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Нет такого файла или каталога Is the server running locally and accepting connections on that socket?

На самом деле socket по умолчанию находится /tmp ls -la /tmp/ итого 40 drwxrwxrwt 10 root root 4096 июл 18 18:50 . drwxr-xr-x 19 root root 4096 июл 17 09:25 .. srwxrwxrwx 1 postgres postgres 0 июл 18 18:50 .s.PGSQL.5432 -rw------- 1 postgres postgres 54 июл 18 18:50 .s.PGSQL.5432.lock

uname -a Linux DESKTOP-1F7O6M0 5.15.153.1-microsoft-standard-WSL2 #1 SMP Fri Mar 29 23:14:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux pg_probackup-16 --version pg_probackup-16 2.5.15 (PostgreSQL 16.2)

fukanchik commented 1 month ago

Краткое обсуждение причины этого в сообществе: https://www.postgresql.org/message-id/21044.1326496507@sss.pgh.pa.us

Настройка параметров соединения описана в документации: https://postgrespro.com/docs/enterprise/9.6/app-pgprobackup#pbk-connection-opts

пробэкап принимает обычные опции и переменные среды libpq описанные здесь https://postgrespro.com/docs/enterprise/9.6/libpq-envars.html

Т.е. в вашем случае нужно указать

 pg_probackup-16 backup -B ~/backup -b FULL --instance=1cnode --compress-algorithm=zlib -d ERP2Demo --pghost=/tmp

В качестве альтернативы вы можете изменить LD_LIBRARY_PATH так, чтобы он указывал в директорию, в которой находится libpq от той инсталляции postgres, которую вы бэкапите.

EuLeEr commented 1 month ago

Спасибо !