第 29章pgtcl - Tcl バインディングライブラリ

目次
29.1. 概要
29.2. アプリケーションへの pgtcl のロード
29.3. 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 -- ラージオブジェクトをファイルにエクスポートします。
29.4. サンプルプログラム

pgtclPostgreSQL サーバとインタフェースを持つクライアントプログラム用の Tcl パッケージです。 これにより、libpq のほとんどの機能を Tcl スクリプトで使用可能になります。

29.1. 概要

表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_importpg_lo_export必ず BEGIN/COMMIT トランザクションブロック内で使用しなければなりません。