以下环境变量可用于选择连接参数的默认值,供以下函数使用:PQconnectdb, PQsetdbLogin和PQsetdb,前提是调用代码没有直接指定这些参数的值。例如,这样可以避免在简单的客户端应用程序中硬编码数据库连接信息。
PGHOST的行为与host连接参数相同。
PGHOSTADDR的行为与hostaddr连接参数相同。 这可以替代或者与PGHOST一起设置,以避免DNS查找开销。
PGPORT的行为与port连接参数相同。
PGDATABASE的行为与dbname连接参数相同。
PGUSER的行为与user连接参数相同。
PGPASSWORD的行为与password连接参数相同。 出于安全原因,不建议使用此环境变量,因为一些操作系统允许非root用户通过ps查看进程环境变量; 而应考虑使用密码文件(参见Section 33.15)。
PGPASSFILE的行为与passfile连接参数相同。
PGCHANNELBINDING的行为与channel_binding连接参数相同。
PGSERVICE的行为与service连接参数相同。
PGSERVICEFILE指定每个用户的连接服务文件的名称 (参见Section 33.16)。 默认为~/.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连接参数相同。
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的内部行为,它们会覆盖编译在程序中的默认值。