问题

如何在bash脚本中连接到postgresql(psql)而不使用密码

解决方案:

  • 在主目录(~/)中创建.pgpass(注意文件名前面有一个“点”),权限不超过0600(否则会抱怨)
  • 文件的格式是
hostname:server-db-port:dbname:username:password

例如

192.168.1.10:*:mydatabase:oir:GIoir or db.onitroad.com:5432:db01:mike:macha
  • 在 bash 脚本中,尽可能具体地指定使用 psql 时的服务器详细信息。

例如

DBCONTENTS=$(psql -U mike -h db.onitroad.com -d db01 -c "select * from mytablename")
echo $DBCONTENTS;
Postgres SQL - bash 脚本中的无密码登录

大多数时候,我们需要编写一个脚本来更新数据库表中的多个字段,从数据库中提取值以填充其他表,甚至从数据库中抓取并将其传递给程序进行处理。
最烦人的是每次尝试连接数据库服务器时,都会提示输入密码。

日期:2020-06-02 22:17:12 来源:oir作者:oir