Назад | Перейти на главную страницу

автоматический пароль pg_basebackup

У меня есть основная и подчиненная база данных. Главная база данных находится в защищенной сети, и только порт postgres разрешен к подчиненному серверу базы данных.

База данных должна быть защищена, и только у администратора есть пароль базы данных. Серверы также находятся на удаленном сайте, который недоступен для администратора, не заходя на сайт.

Я обнаружил, что подчиненная база данных будет повреждена / не синхронизирована, если соединение между ними будет прервано на какое-то время. Я написал сценарий для повторной синхронизации подчиненной базы данных, но проблема, с которой я столкнулся, заключается в том, что при запуске pg_basebackup запрашивает пароль. Мне нужен простой способ передать пароль команде pg_basebackup.

sudo -u postgres pg_basebackup -h <masterDB-IP> -D /var/lib/pgsql/9.3/data -U rep -v -P

Какие-либо предложения?

Ты можешь использовать .pgpass файл как объяснение Вот. Конечно, вам нужно убедиться, что файл не доступен для чтения, чтобы защитить свой пароль.

Другой вариант - использовать доверенного пользователя. Вы можете создать определенного системного пользователя (без пароля для входа) и предоставить привилегии на удаленном сервере БД, используя trust метод только с доверенного IP в pg_hba.conf файл конфигурации. Вам не нужно передавать пароль. Все, что вам нужно, - это защитить эту учетную запись, не устанавливая пароль. Только пользователь root может su этому пользователю для выполнения команды или настройки задания cron.