pgtcl は、Postgres バックエンド とインタフェースを持つフロントエンドプログラム用の tcl パッケージです。 これにより libpq のほとんどの機能を tcl スクリプトから使用できるようになります。
このパッケージは元々 Jolly Chen 氏によって作成されたものです。
Table 4-1. pgtcl Commands
| コマンド | 説明 | 
|---|---|
| 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* 処理は Postgres のラージオブジェクト機能 へのインタフェースです。それらの関数は標準的な Unix ファイルシステム インタフェース用のファイルシステム関数を真似して設計されています。 pg_lo_openで返されるファイル記述子が現時点のトランザクションに対してのみ 効力を持っていますので、pg_lo* 処理は BEGIN/END トランザクシ ョンブロックの 中で使用されなければなりません。特に、pg_lo_import と pg_lo_export は必ず BEGIN/END トランザクションブロック内で使わなければいけません。