我在以下位置设置了 pgpassword .bashrc
:
vim .bashrc
export PGPASSWORD=pass_for_postgresql
命令不需要输入密码 psql -U postgres
。当我使用以下命令将表从 db1 转储到 db2 时:
pg_dump -U postgres -t table db1 | psql -U postgres -W db2
该命令将要求我输入密码。我用谷歌搜索了一篇文章来讨论这个
http://www.londatiga.net/it/database-it/how-to-use-postgresql-pgdump-in-crontab-without-password/
使用以下格式在用户的主目录中创建一个 ~/.pgpass 文件:
hostname:port:database:username:password
Ex: localhost:5432:mydatabase:lorenz:lorensxyz
这里有很多数据库,怎么写.pgpass文件呢?
localhost:5432:db1,db2,db3,db4:postgres:pass
如何在不询问密码的情况下使 PG_DUMP 适用于所有数据库?
你应该使用
.pgpass
. 该条目可能看起来像与集群中的任何数据库一起工作。确保该文件对所有者以外的任何人都没有权限。