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 事務塊裡面使用。