在命令行通过psql命令访问远程postgresql数据库的时候需要密码验证,此时需要输入密码才能访问数据库。这样在linux平台上做postgresql调度运维的时候,必须通过expect命令来处理数据库的密码输入问题。如果能够直接访问远程数据库的话,这样能大大减少运维工作量,尤其在维护近百个远程节点的时候更明显。

   postgresql提供的.pgpass密码文件可以将要访问的远程数据库地址,端口号,数据库名称,用户,密码等信息保存起来,把该文件以隐藏文件的形式放到用户主目录下。这样用户登录到系统中访问远程数据库的时候不需要手动输入密码。

文件格式如下:

hostname:port:database:username:password 

unix平台下需要修改文件的权限为0600。

windows平台下该文件位于%APPDATA%\postgresql\pgpass.conf,不需要做权限设置。