环境变量

PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 31. libpq - C 库 | 下一页

# 31.14. 环境变量

下面的环境变量可以用于选择缺省的连接参数值，这些值将被`PQconnectdb` ，`PQsetdbLogin`和`PQsetdb`使用，如果调用代码没有直接声明相应值的话。 比如，这些（环境变量）可以避免把硬编码数据库连接信息写入简单的客户端应用中。

- `PGHOST`与host连接参数表现行为相同。

- `PGHOSTADDR`与hostaddr连接参数表现行为相同。这样可以代替或除去PGHOST以避免DNS查找的开销。

- `PGPORT`与port连接参数表现行为相同。

- `PGDATABASE`与dbname连接参数表现行为相同。

- `PGUSER`与user连接参数表现行为相同。

- `PGPASSWORD`与password连接参数表现行为相同。 出于安全原因是不推荐使用这个环境变量的，因为某些操作系统允许非root用户通过ps 看到进程的环境变量，而是考虑使用`~/.pgpass`的文件（详情请看第 31.15 节）。

- `PGPASSFILE`指定密码文件的名称用于查找。如果没有设置， 默认为`~/.pgpass`（见第 31.15 节）。

- `PGSERVICE`与service连接参数表现行为相同。

- `PGSERVICEFILE`指定连接服务的文件中每个用户的名字， 如果没有设置默认`~/.pg_service.conf` (见第 31.16 节)。

- `PGREALM`设置与PostgreSQL一起使用的 Kerberos 域， 如果该域与本地域不同的话。如果设置了`PGREALM`，libpq 应用将试图用这个域（realm）与服务器进行认证并且使用独立的门票文件（ticket files） 以避免与本地的门票文件冲突。只有在服务器选择了 GSSAPI 认证时才使用这个环境变量。

- `PGOPTIONS`与options连接参数表现行为相同。

- `PGAPPNAME`与application_name连接参数表现行为相同。

- `PGSSLMODE`与sslmode连接参数表现行为相同。

- `PGREQUIRESSL`与requiressl连接参数表现行为相同。

- `PGSSLCOMPRESSION`与sslcompression连接参数表现行为相同。

- `PGSSLCERT`与sslcert连接参数表现行为相同。

- `PGSSLKEY`与sslkey连接参数表现行为相同。

- `PGSSLROOTCERT`与sslrootcert连接参数表现行为相同。

- `PGSSLCRL`与sslcrl连接参数表现行为相同。

- `PGREQUIREPEER`与requirepeer连接参数表现行为相同。

- `PGKRBSRVNAME`与krbsrvname连接参数表现行为相同。

- `PGGSSLIB`与gsslib连接参数表现行为相同。

- `PGCONNECT_TIMEOUT`与connect_timeout连接参数表现行为相同。

- `PGCLIENTENCODING`与client_encoding连接参数表现行为相同。

下面的环境变量可以用于为每个PostgreSQL会话声明缺省特性。 （又见ALTER ROLE和ALTER DATABASE命令， 在每用户或每数据库的基础上设置缺省行为。）

- `PGDATESTYLE`设置缺省的日期/时间表现形式。（等效于`SET datestyle TO ...`。）

- `PGTZ`设置缺省的时区。（等效于`SET timezone TO ...`。）

- `PGGEQO`为基因优化器设置缺省模式。（等效于`SET geqo TO ...`。）

请参考SQL命令SET获取这些环境变量的正确数值。

下面的环境变量决定libpq的内部行为；它们覆盖编译的缺省。

- `PGSYSCONFDIR`设置包含`pg_service.conf` 文件和未来版本中可能的其他系统范围的配置文件的目录。

- `PGLOCALEDIR`设置包含信息国际化的`locale`文件目录。

上一页 | 起始页 | 下一页
事件系统 | 上一级 | 口令文件