pgtcl 是一个用于前端和 PostgreSQL 后端交互的 Tcl 包.它把大多数 libpq 库的函数/功能做成可用于 Tcl 脚本.
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_import和pg_lo_export 必须在一个BEGIN/END 事务块里面使用。