以下环境变量可用于选择默认连接参数值,这些值将被使用 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 节)的名称。默认为 ~/.pg_service.conf
,或 Microsoft Windows 上的 %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 连接参数一致。
可以使用以下环境变量指定每种 PostgreSQL 会话的默认行为。(另外参见 ALTER ROLE 和 ALTER DATABASE 命令,这些命令提供根据每位用户或每个数据库设置默认行为的方法。)
请参阅SQL命令 SET 以获取有关这些环境变量的正确值的更多信息。
以下环境变量确定 libpq 的内部行为;它们会覆盖已编译默认值。