28.12. 口令文件

用户家目录中的 .pgpass 或者 PGPASSFILE 引用的文件是一个可以包含口令的文件。 如果连接要求口令(并且没有用其它方法声明口令),那么可以用它。 在 Microsoft Windows 上,文件名字是 %APPDATA%\postgresql\pgpass.conf (这里的 %APPDATA% 指用户配置里的 Application Data 子目录)。

这个文件应该有下面这样的格式行:

hostname:port:database:username:password

头四个字段每个都可以是一个文本值,或者 *,它匹配所有的东西。 第一个匹配当前连接参数的口令行的口令域将得以使用。(因此,如果你使用了通配符, 那么应该把最具体的记录放在前面。) 如果记录包含 : 或者 \ ,应该用 \ 逃逸。 一个 localhost 的主机名匹配来自本机的 host(TCP)和 local (Unix 域套接字)。

.pgpass 的权限必须不允许任何全局或者同组的用户 访问;我们可以用命令 chmod 0600 ~/.pgpass 实现这个目的。 如果权限比这个松,这个文件将被忽略。 (不过目前在 Microsoft Windows 上没有检查这个文件的权限。)