pgtcl は PostgreSQL サーバとインタフェースを持つクライアントプログラム用の Tcl パッケージです。 これにより、libpq のほとんどの機能を Tcl スクリプトで使用可能になります。
表29-1 において、pgtcl で使用できるコマンドの概要を説明しています。 後でこれらのコマンドの詳細を説明します。
表 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_openで返されるファイル記述子が現在のトランザクションでのみ有効ですので、pg_lo_* コマンドは BEGIN/COMMIT トランザクションブロック内で使用されなければなりません。 pg_lo_import と pg_lo_export は 必ず BEGIN/COMMIT トランザクションブロック内で使用しなければなりません。