pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
下面的环境变量可用于选择默认的连接参数值;当调用代码没有直接指定值时, PQconnectdb、PQsetdbLogin 和 PQsetdb 将使用这些值。例如,它们有助于避免把数据库连接信息硬编码进简单的客户端应用。
PGHOST 设置数据库服务器名。如果以斜杠开头,则表示使用 Unix 域通信而非 TCP/IP 通信;该值是存放套接字文件的目录名(默认 /tmp)。
PGHOSTADDR 指定数据库服务器的数字 IP 地址。可以设置它来代替 PGHOST,以避免 DNS 查找开销。关于这些参数的相互作用,参见上面 PQconnectdb 下对这些参数的说明。
PGPASSWORD 设置当服务器要求密码认证时使用的密码。出于安全原因,此环境变量已废弃;请考虑改用 $HOME/.pgpass 文件(见 第 27.11 节)。
PGREALM 设置与 PostgreSQL 一起使用的 Kerberos realm(当它与本地 realm 不同时)。如果设置了 PGREALM,libpq 应用将尝试对该 realm 中的服务器进行认证,并使用单独的 ticket 文件以避免与本地 ticket 文件冲突。仅当服务器选择了 Kerberos 认证时才会使用此环境变量。
PGSSLMODE 决定是否以及以何种优先级与服务器协商 SSL 连接。共有四种模式:disable 只尝试非加密的 SSL 连接;allow 协商时先尝试非 SSL 连接,失败后再尝试 SSL 连接;prefer(默认值)协商时先尝试 SSL 连接,失败后再尝试常规的非 SSL 连接;require 只尝试 SSL 连接。如果 PostgreSQL 编译时未包含 SSL 支持,使用选项 require 将导致错误,选项 allow 和 prefer 可以被接受,但 libpq 无法协商建立 SSL 连接。
PGREQUIRESSL 设置是否必须通过 SSL 建立连接。若设为 “1”,当服务器不接受 SSL 连接时,libpq 将拒绝连接(等价于 sslmode prefer)。此选项已废弃,由 sslmode 设置取代;仅当 PostgreSQL 编译时包含 SSL 支持时才可用。
PGCONNECT_TIMEOUT 设置 libpq 尝试连接 PostgreSQL 服务器时等待的最大秒数。若未设置或设为零,libpq 将无限等待。不建议将超时设为小于 2 秒。
下面的环境变量可用于为每个 PostgreSQL 会话指定默认行为。(关于按用户或按数据库设置默认行为的方法,另见 ALTER USER 和 ALTER DATABASE 命令。)
关于这些环境变量的正确取值,请参阅 SQL 命令 SET。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。