选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.0 已于 2015 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本

31.13. 环境变量 #

下列环境变量可用来选择默认连接参数值,如果调用代码没有直接指定值,PQconnectdbPQsetdbLoginPQsetdb将使用它们。例如,这些变量有助于避免把数据库连接信息硬编码进简单的客户端应用。

  • PGHOST的行为与host连接参数相同。

  • PGHOSTADDR的行为与hostaddr连接参数相同。 这可以替代或者与PGHOST一起设置,以避免DNS查找开销。

  • PGPORT的行为与port连接参数相同。

  • PGDATABASE的行为与dbname连接参数相同。

  • PGUSER的行为与user连接参数相同。

  • PGPASSWORD的行为与password连接参数相同。 出于安全原因,不建议使用此环境变量,因为一些操作系统允许非root用户通过ps查看进程环境变量; 而应考虑使用~/.pgpass文件(参见第 31.14 节)。

  • PGPASSFILE指定用于查找的密码文件名。如果未设置,默认为~/.pgpass(参见第 31.14 节)。

  • PGSERVICE的行为与service连接参数相同。

  • PGSERVICEFILE指定每个用户的连接服务文件的名称。如果未设置,默认为~/.pg_service.conf(参见第 31.15 节)。

  • PGREALM设置与PostgreSQL一起使用的 Kerberos 域(如果它与本地域不同)。如果设置了PGREALMlibpq应用将尝试与该域中的服务器进行认证,并使用单独的票据文件以避免与本地票据文件冲突。只有当服务器选择了 Kerberos 认证时,才会使用这个环境变量。

  • PGOPTIONS的行为与options连接参数相同。

  • PGAPPNAME的行为与application_name连接参数相同。

  • PGSSLMODE的行为与sslmode连接参数相同。

  • PGREQUIRESSL的行为与requiressl连接参数相同。

  • PGSSLCERT的行为与sslcert连接参数相同。

  • PGSSLKEY的行为与sslkey连接参数相同。

  • PGSSLROOTCERT的行为与sslrootcert连接参数相同。

  • PGSSLCRL的行为与sslcrl连接参数相同。

  • PGKRBSRVNAME的行为与krbsrvname连接参数相同。

  • PGGSSLIB的行为与gsslib连接参数相同。

  • PGCONNECT_TIMEOUT的行为与connect_timeout连接参数相同。

下列环境变量可用来为每个PostgreSQL会话指定默认行为。(另见ALTER USERALTER DATABASE命令了解按用户或按数据库设置默认行为的方式。)

  • PGDATESTYLE设置日期/时间表示的默认风格(等同于SET datestyle TO ...)。

  • PGTZ设置默认的时区(等同于SET timezone TO ...)。

  • PGCLIENTENCODING设置默认的客户端字符集编码。(等价于SET client_encoding TO ...。)

  • PGGEQO为遗传查询优化器设置默认模式(等同于SET geqo TO ...)。

关于这些环境变量的正确取值的信息,请参考SQL命令SET

下面的环境变量决定libpq的内部行为,它们会覆盖编译在程序中的默认值。

  • PGSYSCONFDIR设置包含pg_service.conf文件以及未来版本中可能出现的其他系统范围配置文件的目录。

  • PGLOCALEDIR设置包含用于消息国际化的locale文件的目录。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。