pg_basebackup senha automática

3

Eu tenho uma configuração de banco de dados mestre e escravo. O banco de dados mestre está em uma rede segura e somente a porta postgres é permitida através do servidor de banco de dados escravo.

O banco de dados precisa ser protegido e apenas o administrador tem a senha do banco de dados. Os servidores também estão em um site remoto que não é acessível ao administrador sem ir ao site.

Descobri que o banco de dados escravo será corrompido / fora de sincronia se a conexão entre os dois for interrompida por qualquer período de tempo. Eu escrevi um script para ressincronizar o banco de dados escravo, mas o problema que estou enfrentando é que, uma vez executado, o pg_basebackup solicita uma senha. Eu preciso de uma maneira simples de passar a senha para o comando pg_basebackup.

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

Alguma sugestão?

    
por Chris 24.12.2014 / 19:08

1 resposta

4

Você pode usar o arquivo .pgpass como explicado aqui . Claro, você precisa ter certeza de que o arquivo não é legível para o mundo para proteger sua senha.

Outra opção é usar algum usuário confiável. Você pode criar um usuário do sistema específico (sem senha de login) e conceder privilégio no servidor de banco de dados remoto usando o método trust somente do IP confiável no arquivo pg_hba.conf config. Você não precisa passar nenhuma senha. Tudo o que você precisa é proteger essa conta, o que é feito sem definir nenhuma senha. Somente usuário root pode su para este usuário executar o comando ou configurar o trabalho cron.

    
por 13.02.2017 / 12:03