返回介绍

I. 教程

II. SQL 语言

III. 服务器管理

IV. 客户端接口

V. 服务器端编程

VI. 参考手册

VII. 内部

VIII. 附录

28.11. 环境变量

发布于 2019-09-30 03:08:14 字数 3345 浏览 1078 评论 0 收藏 0

下面的环境变量可以用于选择缺省的连接参数值,这些值将被PQconnectdbPQsetdbLogin 使用 — 如果调用代码没有直接声明相应值的话。比如,这些(环境变量)可以避免把麻烦的数据库名强加入简单的应用程序的硬代码里面。

  • PGHOST 设置数据库服务器名。如果它以一个斜杠开头,那么它声明一个 Unix 域套接字而不是 TCP/IP 通讯;其值就是该套接字文件存储的目录(在缺省安装中,这个目录会是 /tmp)。

  • PGHOSTADDR 声明数据库服务器地数值 IP 地址。我们可以额外设置这个环境变量,或者是替代 PGHOST,以避免 DNS 查找的过热。参阅这个参数的文档,在上面的PQconnectdb 里,获取它们的相互关系的细节。

    如果既没有声明 PGHOST 也没有声明 PGHOSTADDR,缺省的行为是使用一个 Unix 域套接字连接;或者在没有 Unix 域套接字的机器上,libpq 将试图与 localhost 连接。

  • PGPORT 设置 TCP 端口号或者设置与 PostgreSQL 通讯的 Unix 域套接字的文件扩展。

  • PGDATABASE 设置PostgreSQL 数据库名。

  • PGUSER设置用于与数据库连接的用户名。

  • 如果服务器要求口令认证,PGPASSWORD设置使用的口令。因为安全原因,我们不建议使用这个环境变量(有些操作系统允许非 root 用户使用 ps查看进程的环境变量。);应该考虑使用~/.pgpass代替(参阅Section 28.12)。

  • PGPASSFILE声明用于查找的口令文件。如果没有设置,则缺省为 ~/.pgpass(参阅 Section 28.12)。

  • PGSERVICE设置要在 pg_service.conf 中查找的服务名。这样提供了设置全部参数的一个缩写方式。

  • PGREALM 设置与PostgreSQL一起使用的Kerberos 领地 — 如果该领地与本地领地不同的话。如果设置了 PGREALM ,libpq应用将试图用这个域(realm)与服务器进行认证并且使用独立的门票文件(ticket files)以避免与本地的门票文件冲突。只有在服务器选择了 Kerberos 认证时才使用这个环境变量。(译注:门票文件是 Kerberos认证协议中用于交换密钥的一个文件/服务器。)

  • PGOPTIONS 为 PostgreSQL 服务器设置附加的运行时选项。

  • PGSSLMODE 设置该连接是否与服务器协商在 SSL 连接,以及 SSL 连接的优先级。有四种模式:disable 将只进行无加密的 SSL 连接尝试;allow 将进行协商,首先尝试非 SSL 连接,如果这个失败,再尝试 SSL 连接;prefer (缺省)将进行协商,首先尝试 SSL 连接,然后如何这个失败,将尝试一个普通的非SSL连接;require 将只尝试SSL 连接。如果编译 PostgreSQL 的时候没有打开 SSL 支持,那么使用 require 选项将导致一个错误,而使用 allowprefer 将被接受,但是 libpq 实际上不会准备进行 SSL 连接。

  • PGREQUIRESSL设置一个连接是否必须在 SSL 上进行。如果设置为 "1",那么如果服务器不支持 SSL连接,那么 libpq 将拒绝连接(等效于 sslmodeprefer)。因为有了 sslmode 的设置,所以这个选项已经废弃了,这个选项只有在PostgreSQL 编译的时候打开了 SSL 支持才能用。

  • PGKRBSRVNAME 设置在使用 Kerberos 5 认证的时候使用的 Kerberos 服务名。

  • PGCONNECT_TIMEOUT 设置在等待与 PostgreSQL服务器连接的时候,libpq 等待的最大的秒数。如果未设置或者为 0,libpq 将不停等待。我们不建议把这个值设置得少于 2 秒。

下面的环境变量可以用于为每个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 文件的目录。

<
PrevHomeNext
注意信息处理Up口令文件

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文