# 34.15. Environment Variables

The following environment variables can be used to select default connection parameter values, which will be used byPQconnectdb,PQsetdbLoginandPQsetdbif 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.

  • PGHOSTbehaves the same as thehostconnection parameter.

  • PGHOSTADDRbehaves the same as thehostaddrconnection parameter. This can be set instead of or in addition toPGHOSTto avoid DNS lookup overhead.

  • PGPORTbehaves the same as theportconnection parameter.

  • PGDATABASEbehaves the same as thedbnameconnection parameter.

  • PGUSER行为与用户连接参数。

  • PG密码行为与密码连接参数。出于安全原因,不建议使用此环境变量,因为某些操作系统允许非 root 用户通过 ps 查看进程环境变量;而是考虑使用密码文件(请参阅第 34.16 节)。

  • PGPASS文件行为与密码文件连接参数。

  • PG通道绑定行为与渠道_捆绑连接参数。

  • PGSERVICE行为与服务连接参数。

  • PGSERVICE文件指定每用户连接服务文件的名称。如果未设置,则默认为~/.pg_service.conf(看第 34.17 节)。

  • 选项行为与选项连接参数。

  • PGAPPNAME行为与应用_姓名连接参数。

  • PGSSL模式行为与ssl模式连接参数。

  • PGREQUIRESSL行为与需要sl连接参数。此环境变量已弃用,取而代之的是PGSSL模式多变的;设置这两个变量会抑制这个变量的影响。

  • PGSSL压缩行为与ssl压缩连接参数。

  • PGSSL证书行为与sslcert连接参数。

  • PGSSLKEY行为与sslkey连接参数。

  • PGSSL根证书行为与sslrootcert连接参数。

  • PGSSLCRL行为与sslcrl连接参数。

  • PGSSLCRLDIR行为与sslcrldir连接参数。

  • PGSSLSNI行为与sslsni连接参数。

  • PGRE要求者行为与要求同行连接参数。

  • PGSSLMIN协议转换行为与ssl_分钟_协议_版本连接参数。

  • PGSSLMAX协议转换行为与ssl_最大限度_协议_版本连接参数。

  • PGGSSENC模式行为与gssencmode连接参数。

  • PGKRBSRVNAME行为与krbsrv 名称连接参数。

  • PGGSSLIB行为与gsslib连接参数。

  • PGCONNECT_TIMEOUT行为与连接_超时连接参数。

  • PGC客户端编码行为与客户_编码连接参数。

  • PGTARGETSESSIONATTRS行为与目标_会议_属性连接参数。

    以下环境变量可用于指定每个 PostgreSQL 会话的默认行为。(另见改变角色更改数据库用于在每个用户或每个数据库的基础上设置默认行为的方法的命令。)

  • PGD​​ATE样式设置日期/时间表示的默认样式。(相当于将日期样式设置为 ....)

  • PGTZ设置默认时区。(相当于将时区设置为 ....)

  • PGGEQO设置遗传查询优化器的默认模式。(相当于将 geqo 设置为 ....)

    参考SQL命令有关这些环境变量的正确值的信息。

    以下环境变量决定了 libpq 的内部行为;它们覆盖编译的默认值。

  • PGSYSCONFDIR设置包含pg_service.conf文件和在未来的版本中可能是其他系统范围的配置文件。

  • PGLOCALEDIR设置包含语言环境用于消息本地化的文件。