3.2. 控制与初始化 #
3.2.1. 环境变量
下列环境变量可用于为环境设置默认值,避免把数据库名硬编码到应用程序中:
注意
完整的可用连接选项列表见第 1.10 节。
下列环境变量可用于选择默认的连接参数值,如果调用代码没有直接指定值,PQconnectdb 或
PQsetdbLogin 将使用它们。这些变量有助于避免在简单的应用程序中硬编码数据库名。
注意
libpq++ 只使用环境变量或
libpq 的 PQconnectdb
conninfo 风格字符串。
PGHOST设置默认的服务器名。如果它以斜杠开头,则指定 Unix 域通信而不是 TCP/IP 通信;该值是套接字文件所在目录的名称(默认为/tmp)。PGPORT设置与 PostgreSQL 后端通信的默认 TCP 端口号或 Unix 域套接字文件扩展名。PGDATABASE设置默认的 PostgreSQL 数据库名。PGUSER设置用于连接数据库和进行认证的用户名。PGPASSWORD设置在后端要求密码认证时使用的密码。不推荐这种方式,因为在某些平台上,其他人可以用带特殊选项的ps命令读取该密码。PGREALM设置与 PostgreSQL 一起使用的 Kerberos 域(如果它与本地域不同)。如果设置了PGREALM,PostgreSQL 应用将尝试向该域的服务器认证,并使用单独的票据文件以避免与本地票据文件冲突。只有在后端选择了 Kerberos 认证时才会使用此环境变量。PGOPTIONS为 PostgreSQL 后端设置额外的运行时选项。PGTTY设置显示来自后端服务器的调试消息的文件或 tty。
下列环境变量可用于为每个 PostgreSQL 会话指定用户级的默认行为:
PGDATESTYLE设置日期/时间表示的默认风格。PGTZ设置默认时区。
下列环境变量可用于为每个 PostgreSQL 会话指定默认的内部行为:
PGGEQO设置遗传优化器的默认模式。
关于这些环境变量的正确取值,请参阅 SQL 命令 SET。