以下环境变量可用于选择默认连接参数值,这些值将由 PQconnectdb、PQsetdbLogin 和 PQsetdb 使用,前提是调用代码未直接指定值。例如,这对于避免将数据库连接信息硬编码到简单的客户端应用程序中非常有用。
PGHOST 的行为与 host 连接参数相同。
PGSSLNEGOTIATION 的行为与 sslnegotiation 连接参数相同。
PGHOSTADDR 的行为与 hostaddr 连接参数相同。可以设置此变量来代替或与 PGHOST 一起设置,以避免 DNS 查询开销。
PGPORT 的行为与 port 连接参数相同。
PGDATABASE 的行为与 dbname 连接参数相同。
PGUSER 的行为与 user 连接参数相同。
PGPASSWORD 的行为与 password 连接参数相同。出于安全原因,不建议使用此环境变量,因为某些操作系统允许非 root 用户通过 ps 查看进程环境变量;请考虑使用密码文件(参见 第 32.16 节)。
PGPASSFILE 的行为与 passfile 连接参数相同。
PGREQUIREAUTH 的行为与 require_auth 连接参数相同。
PGCHANNELBINDING 的行为与 channel_binding 连接参数相同。
PGSERVICE 的行为与 service 连接参数相同。
PGSERVICEFILE 指定了每个用户连接服务文件的名称(请参阅 第 32.17 节)。在 Microsoft Windows 上,默认值为 ~/.pg_service.conf 或 %APPDATA%\postgresql\.pg_service.conf。
PGOPTIONS 的行为与 options 连接参数相同。
PGAPPNAME 的行为与 application_name 连接参数相同。
PGSSLMODE 的行为与 sslmode 连接参数相同。
PGREQUIRESSL 的行为与 requiressl 连接参数相同。此环境变量已弃用,改用 PGSSLMODE 变量;同时设置这两个变量将抑制此变量的效果。
PGSSLCOMPRESSION 的行为与 sslcompression 连接参数相同。
PGSSLCERT 的行为与 sslcert 连接参数相同。
PGSSLKEY 的行为与 sslkey 连接参数相同。
PGSSLCERTMODE 的行为与 sslcertmode 连接参数相同。
PGSSLROOTCERT 的行为与 sslrootcert 连接参数相同。
PGSSLCRL 的行为与 sslcrl 连接参数相同。
PGSSLCRLDIR 的行为与 sslcrldir 连接参数相同。
PGSSLSNI 的行为与 sslsni 连接参数相同。
PGREQUIREPEER 的行为与 requirepeer 连接参数相同。
PGSSLMINPROTOCOLVERSION 的行为与 ssl_min_protocol_version 连接参数相同。
PGSSLMAXPROTOCOLVERSION 的行为与 ssl_max_protocol_version 连接参数相同。
PGGSSENCMODE 的行为与 gssencmode 连接参数相同。
PGKRBSRVNAME 的行为与 krbsrvname 连接参数相同。
PGGSSLIB 的行为与 gsslib 连接参数相同。
PGGSSDELEGATION 的行为与 gssdelegation 连接参数相同。
PGCONNECT_TIMEOUT 的行为与 connect_timeout 连接参数相同。
PGCLIENTENCODING 的行为与 client_encoding 连接参数相同。
PGTARGETSESSIONATTRS 的行为与 target_session_attrs 连接参数相同。
PGLOADBALANCEHOSTS 的行为与 load_balance_hosts 连接参数相同。
PGMINPROTOCOLVERSION 的行为与 min_protocol_version 连接参数相同。
PGMAXPROTOCOLVERSION 的行为与 max_protocol_version 连接参数相同。
以下环境变量可用于指定每个 PostgreSQL 会话的默认行为。(另请参阅 ALTER ROLE 和 ALTER DATABASE 命令,了解如何按用户或按数据库设置默认行为。)
有关这些环境变量的正确值的信息,请参阅SQL命令 SET。
libpq 的内部行为由以下环境变量确定;它们会覆盖编译时默认值。