用户主目录中的 .pgpass
文件可以包含在连接需要密码时使用的密码(并且没有指定其他密码)。在 Microsoft Windows 上,该文件名为 %APPDATA%\postgresql\pgpass.conf
(其中 %APPDATA%
指的是用户配置文件中的 Application Data 子目录)。或者,可以使用连接参数 passfile 或环境变量 PGPASSFILE
来指定要使用的密码文件。
此文件应包含以下格式的行
hostname
:port
:database
:username
:password
(您可以通过复制上面的行并在前面加上 #
来向文件中添加提醒注释。)前四个字段中的每一个都可以是字面值,也可以是 *
,它匹配任何内容。将使用与当前连接参数匹配的第一行的密码字段。(因此,当您使用通配符时,请先放置更具体的条目。)如果条目需要包含 :
或 \
,请使用 \
转义此字符。如果指定了 host
连接参数,则将主机名字段与该参数匹配,否则,如果指定了,则与 hostaddr
参数匹配;如果两者都没有给出,则搜索主机名 localhost
。当连接是 Unix 域套接字连接并且 host
参数与 libpq 的默认套接字目录路径匹配时,也会搜索主机名 localhost
。在备用服务器中,replication
的数据库字段与对主服务器进行的流复制连接匹配。否则,数据库字段的用处有限,因为用户对同一集群中的所有数据库都具有相同的密码。
在 Unix 系统上,密码文件的权限必须禁止对世界或组的任何访问;通过诸如 chmod 0600 ~/.pgpass
之类的命令来实现此目的。如果权限没有此严格,则该文件将被忽略。在 Microsoft Windows 上,假定该文件存储在安全目录中,因此不进行特殊的权限检查。
如果您在文档中发现任何不正确、与您特定功能的使用体验不符或需要进一步说明的地方,请使用此表单报告文档问题。