PostgreSQL 9.3.1 文档 | ||||
---|---|---|---|---|
上一页 | 上一级 | 章 31. libpq - C 库 | 下一页 |
下面的环境变量可以用于选择缺省的连接参数值,这些值将被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) 以避免与本地的门票文件冲突。只有在服务器选择了 Kerberos 认证时才使用这个环境变量。
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文件目录。