以下环境变量可用于选择默认连接参数值,这些值将被PQconnectdb
,PQsetdbLogin
和PQsetdb
使用,如果调用代码没有直接指定值。这些对于避免将数据库连接信息硬编码到简单的客户端应用程序中非常有用,例如。
PGHOST
的行为与host连接参数相同。
PGHOSTADDR
的行为与hostaddr连接参数相同。
这可以替代或者与PGHOST
一起设置,以避免DNS查找开销。
PGPORT
的行为与port连接参数相同。
PGDATABASE
的行为与dbname连接参数相同。
PGUSER
的行为与user连接参数相同。
PGPASSWORD
的行为与password连接参数相同。
出于安全原因,不建议使用此环境变量,因为一些操作系统允许非root用户通过ps查看进程环境变量;
而应考虑使用密码文件(参见第 34.16 节)。
PGPASSFILE
的行为与passfile连接参数相同。
PGCHANNELBINDING
的行为与channel_binding连接参数相同。
PGSERVICE
的行为与service连接参数相同。
PGSERVICEFILE
指定每个用户的连接服务文件的名称
(参见第 34.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连接参数相同。
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连接参数相同。
PGCONNECT_TIMEOUT
的行为与connect_timeout连接参数相同。
PGCLIENTENCODING
的行为与client_encoding连接参数相同。
PGTARGETSESSIONATTRS
的行为与target_session_attrs连接参数相同。
下面的环境变量可用来为每一个PostgreSQL会话指定默认行为(为每一个用户或每一个数据库设置默认行为的方法还可见ALTER ROLE和ALTER DATABASE命令)。
这些环境变量的正确值可参考SQL 命令 SET。
下面的环境变量决定libpq的内部行为,它们会覆盖编译在程序中的默认值。