pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
目录
pgtcl 是一个 Tcl 包,供客户端程序与 PostgreSQL 服务器交互。它使 Tcl 脚本 可以使用 libpq 的大部分功能。
本包最初由 Jolly Chen 编写。
表 4.1 概述了 pgtcl 中可用的命令。这些命令将在后续 页面中进一步描述。
表 4.1. pgtcl 命令
| 命令 | 描述 |
|---|---|
pg_connect |
打开一个到后端服务器的连接 |
pg_disconnect |
关闭一个连接 |
pg_conndefaults |
获取连接选项及其默认值 |
pg_exec |
向后端发送一个查询 |
pg_result |
操作查询的结果 |
pg_select |
循环遍历 SELECT 语句的结果 |
pg_listen |
为 NOTIFY 消息建立回调 |
pg_lo_creat |
创建一个大对象 |
pg_lo_open |
打开一个大对象 |
pg_lo_close |
关闭一个大对象 |
pg_lo_read |
读取一个大对象 |
pg_lo_write |
写入一个大对象 |
pg_lo_lseek |
在大对象中定位到某个位置 |
pg_lo_tell |
返回大对象的当前寻位位置 |
pg_lo_unlink |
删除一个大对象 |
pg_lo_import |
把 Unix 文件导入为大对象 |
pg_lo_export |
把大对象导出到 Unix 文件 |
pg_lo_* 例程是 PostgreSQL 大对象特性的接口。这些函数 的设计模仿标准 Unix 文件系统接口中的类似文件系统函数。 pg_lo_* 例程应当在 BEGIN/COMMIT 事务块内使用, 因为 pg_lo_open 返回的文件描述符只在当前事务 内有效。pg_lo_import 和 pg_lo_export 必须在 BEGIN/COMMIT 事务块内使用。
例 4.1 展示了一个使用这些例程的小例子。
例 4.1. pgtcl 示例程序
# getDBs :
# get the names of all the databases at a given host and port number
# with the defaults being the localhost and port 5432
# return them in alphabetical order
proc getDBs { {host "localhost"} {port "5432"} } {
# datnames is the list to be result
set conn [pg_connect template1 -host $host -port $port]
set res [pg_exec $conn "SELECT datname FROM pg_database ORDER BY datname"]
set ntups [pg_result $res -numTuples]
for {set i 0} {$i < $ntups} {incr i} {
lappend datnames [pg_result $res -getTuple $i]
}
pg_result $res -clear
pg_disconnect $conn
return $datnames
}
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。