On this page
33.14. 环境变量
以下环境变量可用于选择默认的连接参数值,如果调用代码未直接指定任何值,则将由PQconnectdb
,PQsetdbLogin
和PQsetdb
使用。例如,它们对于避免将数据库连接信息硬编码到简单的 Client 端应用程序中很有用。
PGHOST
的行为与host连接参数相同。PGHOSTADDR
的行为与hostaddr连接参数相同。可以设置它代替PGHOST
或作为PGHOST
的补充,以避免 DNS 查找开销。PGPORT
的行为与port连接参数相同。PGDATABASE
的行为与dbname连接参数相同。PGUSER
的行为与user连接参数相同。PGPASSWORD
的行为与password连接参数相同。出于安全原因,不建议使用此环境变量,因为某些 os 允许非 root 用户通过 ps 查看进程环境变量。而是考虑使用密码文件(请参阅Section 33.15)。PGPASSFILE
的行为与passfile连接参数相同。PGSERVICE
的行为与service连接参数相同。PGSERVICEFILE
指定每个用户的连接服务文件的名称。如果未设置,则默认为~/.pg_service.conf
(请参见Section 33.16)。PGOPTIONS
的行为与options连接参数相同。PGAPPNAME
的行为与application_name连接参数相同。PGSSLMODE
的行为与sslmode连接参数相同。PGREQUIRESSL
的行为与requiressl连接参数相同。不推荐使用此环境变量,而推荐使用PGSSLMODE
变量。设置两个变量将抑制此变量的影响。PGSSLCOMPRESSION
的行为与sslcompression连接参数相同。PGSSLCERT
的行为与sslcert连接参数相同。PGSSLKEY
的行为与sslkey连接参数相同。PGSSLROOTCERT
的行为与sslrootcert连接参数相同。PGSSLCRL
的行为与sslcrl连接参数相同。PGREQUIREPEER
的行为与requirepeer连接参数相同。PGKRBSRVNAME
的行为与krbsrvname连接参数相同。PGGSSLIB
的行为与gsslib连接参数相同。PGCONNECT_TIMEOUT
的行为与connect_timeout连接参数相同。PGCLIENTENCODING
的行为与client_encoding连接参数相同。PGTARGETSESSIONATTRS
的行为与target_session_attrs连接参数相同。
以下环境变量可用于为每个 PostgreSQL 会话指定默认行为。 (有关基于每个用户或每个数据库设置默认行为的方法,另请参见ALTER ROLE和ALTER DATABASE命令。)
有关这些环境变量的正确值的信息,请参考 SQL 命令SET。
以下环境变量确定 libpq 的内部行为;它们会覆盖内置的默认值。