PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 31. libpq - C 库 | 下一页

# 31.15. 口令文件

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

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

    hostname:port:database:username:password

你可以通过复制上面的行并且在前面添加`#`用于添加提醒注释到文件， 头四个字段每个都可以是一个文本值，或者`*`，它匹配所有的东西。 第一个匹配当前连接参数的口令行的口令域将得以使用。（因此，如果你使用了通配符， 那么应该把最具体的记录放在前面。）如果记录包含`:`或者`\`， 应该用`\`转义。一个`localhost`的主机名匹配来自本机的 TCP（主机名`localhost`）和Unix域套接字（`pghost`为空或缺省的套接字目录）连接。 在备用服务器中，一个名字为`replication`的数据库被匹配到主服务器的流复制连接。 `database`字段用处有限，因为对同一集群中所有数据库用户有相同密码。

在linux系统中，`.pgpass`的权限必须不允许任何全局或者同组的用户访问； 我们可以用命令`chmod 0600 ~/.pgpass`实现这个目的。如果权限比这个松， 这个文件将被忽略。在Microsoft Windows上，假定该文件存储在一个安全的目录中，所以没有做特殊的权限检查。

上一页 | 起始页 | 下一页
环境变量 | 上一级 | 连接服务的文件