Escolha uma Página

Introdução

Uma tarefas básica de todo DBA é cuidar para que os backups sejam bem feitos, no postgres as duas ferramentas básicas para isso são os pg_dump e o pg_restore.

Quando se executa o pg_dump será solicitada a senha do banco, porém em muitos casos o script de backup é gerado via cron ou outro mecanismo automatizado sendo assim existem 2 possibilidades para que o pg_dump não pesa a senha:

  • Dentro do ph_hba.conf configurar como trust a conexão local, eu não aconselho isso por diversos motivos 🙂
  • Definir a senha no arquivo .pgpass

Construir o Arquivo .pgpass

O arquivo .pgpass irá armazenar informações de autenticação no banco postgres, sua estrutura básica é:

hostname:port:database:username:password

Dicas:

  • hostname é endereço IP de onde virá a conexão, caso seja uma conexão local deixar localhost;
  • Caso não queira especificar um dos parâmetros coloque *

Exemplo:

localhost:*:meu_banco:usuario:senha

Por fim mas não menos importante o arquivo .pgpass deve ficar na pasta home do usuário que irá solicitar o backup, além disso, as permissões do arquivo OBRIGATORIAMENTE devem ser 0600;

ou seja:

chmod 0600 .pgpass

Referência

http://www.postgresql.org/docs/8.1/static/libpq-pgpass.html