他のバージョンの文書 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

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

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

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

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

oid

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

pgcnx

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

error

その接続における最後の警告/エラーメッセージ

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

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