已结束支持的版本: 6.3
历史版本。 PostgreSQL 6.3 已结束支持。 请参阅 当前版本手册.
第 46 章 pgtcl
目录
- 46.1. 命令
- 46.2. 示例
- 46.3. 参考信息
- pg_connect — 打开一个到后端服务器的连接
- pg_disconnect — 关闭一个到后端服务器的连接
- pg_exec — 向后端发送一个查询字符串
- pg_select — 循环遍历 SELECT 语句的结果
- pg_result — 获取关于查询结果的信息
- 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 — 从文件导入一个大对象
- pg_lo_export — 把大对象导出到文件
pgtcl 是一个 tcl 包,供前端程序与 Postgres 后端交互。pgtcl 不使用 libpq 库,而是通过前端-后端协议直接与后端通信。因此,它比构建在 libpq 之上的以前的 postgres->tcl 绑定更高效。此外,pgtcl 可以在单个前端应用程序中处理多个后端连接。
本包最初由 Jolly Chen 编写。
46.1. 命令
pg_lo* 例程是 Postgres 中 Inversion 大对象的接口。这些函数的设计模仿标准 Unix 文件系统接口中的类似文件系统函数。
表 46.1. PGTCL 命令
| 命令 | 描述 |
|---|---|
| pg_connect | 打开一个到后端服务器的连接 |
| pg_disconnect | 关闭一个连接 |
| pg_exec | 向后端发送一个查询 |
| pg_select | 循环遍历 select 语句的结果 |
| pg_result | 操作查询的结果 |
| 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 文件 |
有些命令与 libpq 中用于连接和查询操作的函数等价。
pg_lo* 例程应当在 BEGIN/END 事务块内使用,因为 pg_lo_open 返回的文件描述符只在当前事务内有效。pg_lo_import 和 pg_lo_export 必须在 BEGIN/END 事务块内使用。