Chapter 29. pgtcl - TCL 绑定库

Table of Contents
29.1. 概述
29.2. pgtcl 装载到应用中
29.3. pgtcl 命令参考信息
pg_connect — 打开一个到后端服务器的联接
pg_disconnect — 关闭一个与后端服务器的联接
pg_conndefaults — 获取关于缺省联接参数的信息
pg_exec — 向服务器发送一个命令
pg_result — 获取查询结果的信息
pg_select — 循环处理一个查询的结果
pg_execute — 发送一个查询并且在接过上执行可选的循环
pg_listen — 设置或者改变一个侦听异步 NOTIFY 消息的回调(函数)
pg_on_connection_loss — 为意外的连接丢失设置或者改变一个回调
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 — 把一个大对象输出到一个文件中去.
29.4. 例子程序

pgtcl 是一个用于前端和 PostgreSQL 后端交互的 Tcl 包.它把大多数 libpq 库的函数/功能做成可用于 Tcl 脚本.

29.1. 概述

Table 29-1 给了我们一个在 pgtcl 里可用命令的概述。 这些命令在后面更多的内容里详细介绍。

Table 29-1. pgtcl 命令

命令描述
pg_connect打开一个与后端服务器的联接
pg_disconnect关闭一个与服务器的联接
pg_conndefaults获取联接选项和它们的缺省值
pg_exec向服务器发送一个查询
pg_result获取命令结果的信息
pg_select在一个查询语句的结果上循环(处理)
pg_execute发送一个查询以及可以选择地在结果上循环
pg_listen设置或者修改一个用于异步通知消息的回叫
pg_on_connection_loss为意外的连接丢失建立一个回叫
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把一个大对象输出到一个文件里

pg_lo_*命令都是与 PostgreSQL 大对象特性交互的接口. 这些函数是仿照标准 Unix 文件系统接口的做法设计的。 pg_lo_*命令应该用于一个 BEGIN/COMMIT事务块里头, 因为pg_lo_open返回的文件描述符只是在当前事务中有效。 pg_lo_importpg_lo_export 必须在一个BEGIN/END 事务块里面使用。