Eu configurei pgpassword em .bashrc
:
vim .bashrc
export PGPASSWORD=pass_for_postgresql
Não é necessário digitar a senha para o comando psql -U postgres
. Quando eu despejo uma tabela do db1 no db2 com:
pg_dump -U postgres -t table db1 | psql -U postgres -W db2
O comando me pedirá para digitar a senha. Pesquisei um artigo no Google para discutir isso
http://www.londatiga.net/it/database-it/how-to-use-postgresql-pgdump-in-crontab-without-password/
Crie um arquivo ~/.pgpass no diretório inicial do usuário com o seguinte formato:
hostname:port:database:username:password
Ex: localhost:5432:mydatabase:lorenz:lorensxyz
Existem muitos bancos de dados aqui, então como escrever o arquivo .pgpass?
localhost:5432:db1,db2,db3,db4:postgres:pass
Como fazer o PG_DUMP funcionar para todos os bancos de dados sem pedir senha?
Você deve usar
.pgpass
. A entrada pode parecerpara trabalhar com qualquer banco de dados no cluster. Certifique-se de que o arquivo não tenha permissões para ninguém além do proprietário.