postgresql

pg_dump命令不输入密码

最近需要写个简单的脚本进行Postgresql数据库的定时备份,这才发现pg_dump命令必须交互式地输入密码。于是开始在网上找下解决方案,找到了以下两种方案:

1.使用export命令设置环境变量,将数据库密码赋值给PGPASSWORD

export PGPASSWORD="$put_here_the_password"

2.在用户主目录下创建一个.pgpass文件,将数据库用户名密码信息配置写入其中

localhost:5432:mydbname:postgres:mypass

随后将该文件设置权限为600即可(否则可能不会生效)。

使用以上两种方法,都可以让需要使用密码的命令不再需要交互式地输入密码。

参考:

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