pg_largeobject

PostgreSQL 8.4.1文書
前のページ | 巻戻し | 第 44章システムカタログ | 早送り | 次のページ

# 44.23. `pg_largeobject`

`pg_largeobject`カタログは"ラージオブジェクト"を構築するデータを保持しています。 ラージオブジェクトは作成された時に割り当てられたOIDで識別されます。 それぞれのラージオブジェクトは`pg_largeobject`の行に都合良く格納されるのに十分に足る小さなセグメント、もしくは"ページ"に分割されます。 ページごとのデータ量は（現在`BLCKSZ/4`あるいは典型的に2キロバイトの）`LOBLKSIZE`として定義されます。

表 44-23. `pg_largeobject`の列

名前 | 型 | 説明
--- | --- | ---
`loid` | `oid` | このページを含んだラージオブジェクトの識別子
`pageno` | `int4` | ラージオブジェクト内の（ゼロから数えた）このページのページ番号
`data` | `bytea` | ラージオブジェクト内の保存された実データ。`LOBLKSIZE`バイトを絶対上回りません。たぶんそれより小さいでしょう。

`pg_largeobject`のそれぞれの行はオブジェクト内のバイトオフセット（`pageno * LOBLKSIZE`）から始まるラージオブジェクトの1ページ分のデータを保持します。ページが見つからなかったり、たとえオブジェクトの最期のページでない場合に`LOBLKSIZE`より小さくてもよいといった、あちこちに散らばって保存されてもよいような実装になっています。ラージオブジェクトの中で見つからない部分はゼロとして読み込まれます。

前のページ | ホーム | 次のページ
`pg_language` | 上に戻る | `pg_listener`