## 34.15. Environment Variables [](<>) The following environment variables can be used to select default connection parameter values, which will be used by[`PQconnectdb`](libpq-connect.html#LIBPQ-PQCONNECTDB),[`PQsetdbLogin`](libpq-connect.html#LIBPQ-PQSETDBLOGIN)and[`PQsetdb`](libpq-connect.html#LIBPQ-PQSETDB)if no value is directly specified by the calling code. These are useful to avoid hard-coding database connection information into simple client applications, for example. - [](<>) `PGHOST`behaves the same as the[host](libpq-connect.html#LIBPQ-CONNECT-HOST)connection parameter. - [](<>) `PGHOSTADDR`behaves the same as the[hostaddr](libpq-connect.html#LIBPQ-CONNECT-HOSTADDR)connection parameter. This can be set instead of or in addition to`PGHOST`to avoid DNS lookup overhead. - [](<>) `PGPORT`behaves the same as the[port](libpq-connect.html#LIBPQ-CONNECT-PORT)connection parameter. - [](<>) `PGDATABASE`behaves the same as the[dbname](libpq-connect.html#LIBPQ-CONNECT-DBNAME)connection parameter. - [](<>) `PGUSER`行为与[用户](libpq-connect.html#LIBPQ-CONNECT-USER)连接参数。 - [](<>) `PG密码`行为与[密码](libpq-connect.html#LIBPQ-CONNECT-PASSWORD)连接参数。出于安全原因,不建议使用此环境变量,因为某些操作系统允许非 root 用户通过 ps 查看进程环境变量;而是考虑使用密码文件(请参阅[第 34.16 节](libpq-pgpass.html))。 - [](<>) `PGPASS文件`行为与[密码文件](libpq-connect.html#LIBPQ-CONNECT-PASSFILE)连接参数。 - [](<>) `PG通道绑定`行为与[渠道\_捆绑](libpq-connect.html#LIBPQ-CONNECT-CHANNEL-BINDING)连接参数。 - [](<>) `PGSERVICE`行为与[服务](libpq-connect.html#LIBPQ-CONNECT-SERVICE)连接参数。 - [](<>) `PGSERVICE文件`指定每用户连接服务文件的名称。如果未设置,则默认为`~/.pg_service.conf`(看[第 34.17 节](libpq-pgservice.html))。 - [](<>) `选项`行为与[选项](libpq-connect.html#LIBPQ-CONNECT-OPTIONS)连接参数。 - [](<>) `PGAPPNAME`行为与[应用\_姓名](libpq-connect.html#LIBPQ-CONNECT-APPLICATION-NAME)连接参数。 - [](<>) `PGSSL模式`行为与[ssl模式](libpq-connect.html#LIBPQ-CONNECT-SSLMODE)连接参数。 - [](<>) `PGREQUIRESSL`行为与[需要sl](libpq-connect.html#LIBPQ-CONNECT-REQUIRESSL)连接参数。此环境变量已弃用,取而代之的是`PGSSL模式`多变的;设置这两个变量会抑制这个变量的影响。 - [](<>) `PGSSL压缩`行为与[ssl压缩](libpq-connect.html#LIBPQ-CONNECT-SSLCOMPRESSION)连接参数。 - [](<>) `PGSSL证书`行为与[sslcert](libpq-connect.html#LIBPQ-CONNECT-SSLCERT)连接参数。 - [](<>) `PGSSLKEY`行为与[sslkey](libpq-connect.html#LIBPQ-CONNECT-SSLKEY)连接参数。 - [](<>) `PGSSL根证书`行为与[sslrootcert](libpq-connect.html#LIBPQ-CONNECT-SSLROOTCERT)连接参数。 - [](<>) `PGSSLCRL`行为与[sslcrl](libpq-connect.html#LIBPQ-CONNECT-SSLCRL)连接参数。 - [](<>) `PGSSLCRLDIR`行为与[sslcrldir](libpq-connect.html#LIBPQ-CONNECT-SSLCRLDIR)连接参数。 - [](<>) `PGSSLSNI`行为与[sslsni](libpq-connect.html#LIBPQ-CONNECT-SSLSNI)连接参数。 - [](<>) `PGRE要求者`行为与[要求同行](libpq-connect.html#LIBPQ-CONNECT-REQUIREPEER)连接参数。 - [](<>) `PGSSLMIN协议转换`行为与[ssl\_分钟\_协议\_版本](libpq-connect.html#LIBPQ-CONNECT-SSL-MIN-PROTOCOL-VERSION)连接参数。 - [](<>) `PGSSLMAX协议转换`行为与[ssl\_最大限度\_协议\_版本](libpq-connect.html#LIBPQ-CONNECT-SSL-MAX-PROTOCOL-VERSION)连接参数。 - [](<>) `PGGSSENC模式`行为与[gssencmode](libpq-connect.html#LIBPQ-CONNECT-GSSENCMODE)连接参数。 - [](<>) `PGKRBSRVNAME`行为与[krbsrv 名称](libpq-connect.html#LIBPQ-CONNECT-KRBSRVNAME)连接参数。 - [](<>) `PGGSSLIB`行为与[gsslib](libpq-connect.html#LIBPQ-CONNECT-GSSLIB)连接参数。 - [](<>) `PGCONNECT_TIMEOUT`行为与[连接\_超时](libpq-connect.html#LIBPQ-CONNECT-CONNECT-TIMEOUT)连接参数。 - [](<>) `PGC客户端编码`行为与[客户\_编码](libpq-connect.html#LIBPQ-CONNECT-CLIENT-ENCODING)连接参数。 - [](<>) `PGTARGETSESSIONATTRS`行为与[目标\_会议\_属性](libpq-connect.html#LIBPQ-CONNECT-TARGET-SESSION-ATTRS)连接参数。 以下环境变量可用于指定每个 PostgreSQL 会话的默认行为。(另见[改变角色](sql-alterrole.html)和[更改数据库](sql-alterdatabase.html)用于在每个用户或每个数据库的基础上设置默认行为的方法的命令。) - [](<>) `PGD​​ATE样式`设置日期/时间表示的默认样式。(相当于`将日期样式设置为 ...`.) - [](<>) `PGTZ`设置默认时区。(相当于`将时区设置为 ...`.) - [](<>) `PGGEQO`设置遗传查询优化器的默认模式。(相当于`将 geqo 设置为 ...`.) 参考SQL命令[放](sql-set.html)有关这些环境变量的正确值的信息。 以下环境变量决定了 libpq 的内部行为;它们覆盖编译的默认值。 - [](<>) `PGSYSCONFDIR`设置包含`pg_service.conf`文件和在未来的版本中可能是其他系统范围的配置文件。 - [](<>) `PGLOCALEDIR`设置包含`语言环境`用于消息本地化的文件。