ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 31.14\. 环境变量 下面的环境变量可以用于选择缺省的连接参数值,这些值将被`PQconnectdb` ,`PQsetdbLogin`和`PQsetdb`使用,如果调用代码没有直接声明相应值的话。 比如,这些(环境变量)可以避免把硬编码数据库连接信息写入简单的客户端应用中。 * `PGHOST`与[host](#calibre_link-499)连接参数表现行为相同。 * `PGHOSTADDR`与hostaddr连接参数表现行为相同。这样可以代替或除去PGHOST以避免DNS查找的开销。 * `PGPORT`与[port](#calibre_link-2089)连接参数表现行为相同。 * `PGDATABASE`与[dbname](#calibre_link-2090)连接参数表现行为相同。 * `PGUSER`与[user](#calibre_link-2091)连接参数表现行为相同。 * `PGPASSWORD`与[password](#calibre_link-2092)连接参数表现行为相同。 出于安全原因是不推荐使用这个环境变量的,因为某些操作系统允许非root用户通过ps 看到进程的环境变量,而是考虑使用`~/.pgpass`的文件(详情请看[Section 31.15](#calibre_link-457))。 * `PGPASSFILE`指定密码文件的名称用于查找。如果没有设置, 默认为`~/.pgpass`(见[Section 31.15](#calibre_link-457))。 * `PGSERVICE`与[service](#calibre_link-2093)连接参数表现行为相同。 * `PGSERVICEFILE`指定连接服务的文件中每个用户的名字, 如果没有设置默认`~/.pg_service.conf` (见[Section 31.16](#calibre_link-506))。 * `PGREALM`设置与PostgreSQL一起使用的 Kerberos 域, 如果该域与本地域不同的话。如果设置了`PGREALM`,libpq 应用将试图用这个域(realm)与服务器进行认证并且使用独立的门票文件(ticket files) 以避免与本地的门票文件冲突。只有在服务器选择了 Kerberos 认证时才使用这个环境变量。 * `PGOPTIONS`与[options](#calibre_link-2094)连接参数表现行为相同。 * `PGAPPNAME`与[application_name](#calibre_link-1053)连接参数表现行为相同。 * `PGSSLMODE`与[sslmode](#calibre_link-2095)连接参数表现行为相同。 * `PGREQUIRESSL`与[requiressl](#calibre_link-2096)连接参数表现行为相同。 * `PGSSLCOMPRESSION`与[sslcompression](#calibre_link-2097)连接参数表现行为相同。 * `PGSSLCERT`与[sslcert](#calibre_link-2098)连接参数表现行为相同。 * `PGSSLKEY`与[sslkey](#calibre_link-2099)连接参数表现行为相同。 * `PGSSLROOTCERT`与[sslrootcert](#calibre_link-2100)连接参数表现行为相同。 * `PGSSLCRL`与[sslcrl](#calibre_link-2101)连接参数表现行为相同。 * `PGREQUIREPEER`与[requirepeer](#calibre_link-2102)连接参数表现行为相同。 * `PGKRBSRVNAME`与[krbsrvname](#calibre_link-2103)连接参数表现行为相同。 * `PGGSSLIB`与[gsslib](#calibre_link-2104)连接参数表现行为相同。 * `PGCONNECT_TIMEOUT`与[connect_timeout](#calibre_link-2105)连接参数表现行为相同。 * `PGCLIENTENCODING`与[client_encoding](#calibre_link-2106)连接参数表现行为相同。 下面的环境变量可以用于为每个PostgreSQL会话声明缺省特性。 (又见[ALTER ROLE](#calibre_link-17)和[ALTER DATABASE](#calibre_link-1431)命令, 在每用户或每数据库的基础上设置缺省行为。) * `PGDATESTYLE`设置缺省的日期/时间表现形式。(等效于`SET datestyle TO ...`。) * `PGTZ`设置缺省的时区。(等效于`SET timezone TO ...`。) * `PGGEQO`为基因优化器设置缺省模式。(等效于`SET geqo TO ...`。) 请参考SQL命令[SET](#calibre_link-675)获取这些环境变量的正确数值。 下面的环境变量决定libpq的内部行为;它们覆盖编译的缺省。 * `PGSYSCONFDIR`设置包含`pg_service.conf` 文件和未来版本中可能的其他系统范围的配置文件的目录。 * `PGLOCALEDIR`设置包含信息国际化的`locale`文件目录。