以下环境变量可用于选择默认的连接参数值,
如果调用代码没有直接指定值,
它们将被
PQconnectdb、
PQsetdbLogin 和
PQsetdb
使用。
例如,
它们有助于避免把数据库连接信息硬编码进简单的客户端应用程序。
PGHOST
的行为与
host
连接参数相同。
PGSSLNEGOTIATION
的行为与
sslnegotiation
连接参数相同。
PGHOSTADDR
的行为与
hostaddr
连接参数相同。
可以设置它来取代
PGHOST,
或者在
PGHOST
之外额外设置,
以避免 DNS 查找的开销。
PGPORT
的行为与
port
连接参数相同。
PGDATABASE
的行为与
dbname
连接参数相同。
PGUSER
的行为与
user
连接参数相同。
PGPASSWORD
的行为与
password
连接参数相同。
出于安全原因,
不建议使用这个环境变量,
因为某些操作系统允许非 root
用户通过
ps
查看进程环境变量;
作为替代,
请考虑使用密码文件
(参见
Section 32.16)。
PGPASSFILE
的行为与
passfile
连接参数相同。
PGREQUIREAUTH
的行为与
require_auth
连接参数相同。
PGCHANNELBINDING
的行为与
channel_binding
连接参数相同。
PGSERVICE
的行为与
service
连接参数相同。
PGSERVICEFILE
指定每用户连接服务文件的名字
(参见
Section 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
连接参数相同。
PGMINPROTOCOLVERSION
的行为与
min_protocol_version
连接参数相同。
PGMAXPROTOCOLVERSION
的行为与
max_protocol_version
连接参数相同。
以下环境变量可用于为每个 PostgreSQL 会话指定默认行为。 (另请参见 ALTER ROLE 和 ALTER DATABASE 命令, 它们提供了以每用户或每数据库为基础设置默认行为的方式。)
关于这些环境变量的正确取值, 请参考 SQL 命令 SET。
以下环境变量决定 libpq 的内部行为; 它们会覆盖编译时内置的默认值。