9.6. ラージオブジェクト: pglarge

Table of Contents
open — ラージオブジェクトを開く
close — ラージオブジェクトを閉じる
read — ラージオブジェクトから読む込む
write — ラージオブジェクトに書き込む
seek — ラージオブジェクトの現在の位置を変更
tell — ラージオブジェクトの現在のカーソルの位置を返す
unlink — ラージオブジェクトの削除
size — ラージオブジェクトの大きさを返す
export — オブジェクトをファイルに保存

このオブジェクトはPostgreSQLの ラージオブジェクトに関する要求を操作します。pgobjectが と同じように、すべての"再発"変数(オブジェクトIDと接続)を 埋め込む/隠し、また、関数呼び出しに重要な引数のみを残します。 これは作成される際に使われたpgobjectを参照し続け、 引数を使って要求を送ります。したがって、pgobjectを変更し、 しかし、参照を行う場合にはpglargeオブジェクトに 影響を与えます。Pythonはラージオブジェクトが 参照する前に解除を行わないので、初期のpgobjectを参照する 場合には問題はありません。すべての関数は、正確なエラーが何であったかに 拘わらず、コールエラーの際には一般的なエラーメッセージを返します。 オブジェクトのエラー属性は、正確なエラーメッセージを 表示させます。

pglargeオブジェクトでは、その情報の一部分を取得できる、 読み込み専用の属性群を定義しています。下記はその属性です。

oid

オブジェクトに関連しているOID

pgcnx

オブジェクトに関連しているpgobject

error

接続の最後の警告/エラーメッセージ

注意: マルチスレッドの環境において、エラーは 同じpgobjectを使用している別のスレッドによって 変更される可能性があります。これらのオブジェクトは複製されているのではなく、 共有されていることにご注意下さい。この確認を行うには、ロックを与える などを行って下さい。OIDの属性は、後に再利用でき、pgobject getlo()メソッドの呼び出しによってpglarge オブジェクトを作成できるという大変おもしろいものです。

PostgreSQLのラージオブジェクトインターフェースに 関する詳細はChapter 2を参照して下さい。