pg_largeobject
#
The catalog <structname>pg_largeobject</structname> holds the data making up
<quote>large objects</quote>. A large object is identified by an OID
assigned when it is created. Each large object is broken into
segments or <quote>pages</quote> small enough to be conveniently stored as rows
in <structname>pg_largeobject</structname>.
The amount of data per page is defined to be <symbol>LOBLKSIZE</symbol> (which is currently
<literal>BLCKSZ/4</literal>, or typically 2 kB).
pg_largeobject
カタログは「ラージオブジェクト」を構築するデータを保持します。
ラージオブジェクトは作成された時に割り当てられたOIDで識別されます。
それぞれのラージオブジェクトはpg_largeobject
の行に都合良く格納されるのに十分に足る小さなセグメント、もしくは「ページ」に分割されます。
ページごとのデータ量は(現在BLCKSZ/4
あるいは典型的に2キロバイトの)LOBLKSIZE
として定義されます。
Prior to <productname>PostgreSQL</productname> 9.0, there was no permission structure
associated with large objects. As a result,
<structname>pg_largeobject</structname> was publicly readable and could be
used to obtain the OIDs (and contents) of all large objects in the system.
This is no longer the case; use
<link linkend="catalog-pg-largeobject-metadata"><structname>pg_largeobject_metadata</structname></link>
to obtain a list of large object OIDs.
PostgreSQL 9.0より前までは、ラージオブジェクトに関連した権限構造はありませんでした。
その結果pg_largeobject
は可読性が高いもので、システム内のすべてのラージオブジェクトのOIDを入手するために使用できました。
これはもはや当てはまりません。
ラージオブジェクトのOIDのリストを入手するためにはpg_largeobject_metadata
を使用してください。
表51.30 pg_largeobject
の列
Column Type 列 型 Description 説明 |
---|
Identifier of the large object that includes this page このページを含んだラージオブジェクトの識別子 |
Page number of this page within its large object (counting from zero) ラージオブジェクト内の(ゼロから数えた)このページのページ番号 |
Actual data stored in the large object.
This will never be more than <symbol>LOBLKSIZE</symbol> bytes and might be less.
ラージオブジェクト内に保存された実データ。
|
Each row of <structname>pg_largeobject</structname> holds data
for one page of a large object, beginning at
byte offset (<literal>pageno * LOBLKSIZE</literal>) within the object. The implementation
allows sparse storage: pages might be missing, and might be shorter than
<literal>LOBLKSIZE</literal> bytes even if they are not the last page of the object.
Missing regions within a large object read as zeroes.
pg_largeobject
のそれぞれの行はオブジェクト内のバイトオフセット(pageno * LOBLKSIZE
)から始まるラージオブジェクトの1ページ分のデータを保持します。
ページが見つからなかったり、たとえオブジェクトの最後のページでない場合でもLOBLKSIZE
より小さくてもよいといった、あちこちに散らばって保存されてもよいような実装になっています。
ラージオブジェクトの中で見つからない部分はゼロとして読み込まれます。