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