↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4
历史版本。 PostgreSQL 12 已结束支持。 2024-11-21. 请参阅 当前版本手册.

33.15. 密码文件 #

用户主目录中的.pgpass 文件可保存密码,供连接需要密码且尚未通过其他方式指定密码时使用。在 Microsoft Windows 上,文件名为 %APPDATA%\postgresql\pgpass.conf(其中 %APPDATA% 指用户配置文件中的应用数据子目录)。也可以通过连接参数 passfile 或环境变量 PGPASSFILE 指定要使用的密码文件。

该文件中的行应采用以下格式:

hostname:port:database:username:password

(可以复制上面这一行,并在行首加上#,在文件中加入提示注释。)前四个字段中的每一个都可以是字面值,或者是*,后者可以匹配任何内容。将使用与当前连接参数匹配的第一行中的密码字段。(因此,使用通配符时,应将更具体的条目放在前面。)如果条目需要包含:或\,请使用\ 转义该字符。主机名字段首先匹配已指定的 host 连接参数;否则匹配已指定的 hostaddr 参数。如果两者都未指定,则查找主机名 localhost。在以下情况下也会查找主机名 localhost:连接使用 Unix 域套接字,且 host 参数与 libpq 的默认套接字目录路径匹配。在备库中,数据库字段为 replication 时,匹配连接到主库的流复制连接。除此之外,数据库字段的用途有限,因为同一用户在同一数据库集簇的所有数据库中使用相同的密码。

在 Unix 系统上,密码文件的权限必须禁止所属组及其他用户的任何访问;可以用 chmod 0600 ~/.pgpass 这样的命令实现。如果权限没有这么严格,该文件将被忽略。在 Microsoft Windows 上,假定该文件存储在安全的目录中,因此不进行特殊的权限检查。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.