pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
目录
libpq++ 是 Postgres 的 C++ API。 libpq++ 是一组允许客户端程序连接到 Postgres 后端服务器的类。这些连接有两种形式:数据库类和大对象类。
数据库类用于操作数据库。你可以向 Postgres 后端服务器发送各种 SQL 查询并获取服务器的响应。
大对象类用于操作数据库中的大对象。虽然大对象实例可以向 Postgres 后端服务器发送普通查询, 但它只适用于不返回任何数据的简单查询。应当把大对象看作一个文件流。将来它应当表现得非常像 C++ 文件流 cin、cout 和 cerr。
本章基于 libpq C 库的文档。本节末尾列出了三个短程序作为 libpq++ 编程的示例(但不一定是良好编程的示例)。 源代码发行版的 src/libpq++/examples 中有若干 libpq++ 应用的示例,包括本章三个示例的源代码。
下列环境变量可用于为环境设置默认值,避免把数据库名硬编码到应用程序中:
完整的可用连接选项列表见libpq。
下列环境变量可用于选择默认的连接参数值, 如果调用代码没有直接指定值,PQconnectdb 或 PQsetdbLogin 将使用它们。这些变量有助于避免在简单的应用程序中硬编码数据库名。
libpq++ 只使用环境变量或 PQconnectdb conninfo 风格字符串。
PGHOST 设置默认的服务器名。 如果指定了非零长度的字符串,则使用 TCP/IP 通信。 如果没有主机名,libpq 将使用本地 Unix 域套接字连接。
PGPORT 设置与 Postgres 后端通信的默认端口或本地 Unix 域套接字文件扩展名。
PGDATABASE 设置默认的 Postgres 数据库名。
PGUSER 设置用于连接数据库和进行认证的用户名。
PGPASSWORD 设置在后端要求密码认证时使用的密码。
PGREALM 设置与 Postgres 一起使用的 Kerberos 域(如果它与本地域不同)。如果设置了 PGREALM,Postgres 应用将尝试向该域的服务器认证,并使用单独的票据文件以避免与本地票据文件冲突。只有在后端选择了 Kerberos 认证时才会使用此环境变量。
PGOPTIONS 为 Postgres 后端设置额外的运行时选项。
PGTTY 设置显示来自后端服务器的调试消息的文件或 tty。
下列环境变量可用于为每个 Postgres 会话指定用户级的默认行为:
PGDATESTYLE 设置日期/时间表示的默认风格。
PGTZ 设置默认时区。
下列环境变量可用于为每个 Postgres 会话指定默认的内部行为:
PGGEQO 设置遗传优化器的默认模式。
PGRPLANS 设置优化器中允许或禁用右平面(right-sided plans)的默认模式。
PGCOSTHEAP 设置优化器堆表搜索的默认代价。
PGCOSTINDEX 设置优化器索引搜索的默认代价。
关于这些环境变量的正确取值,请参阅 SQL 命令 SET。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。