The catalog pg_largeobject holds the data making up
"large objects". A large object is identified by an
OID assigned when it is created. Each large object is broken into
segments or "pages" small enough to be conveniently stored as rows
in pg_largeobject.
The amount of data per page is defined to be LOBLKSIZE (which is currently
BLCKSZ/4, or typically 2 kB).
Table 42-21. pg_largeobject Columns
Name
Type
References
Description
loid
oid
Identifier of the large object that includes this page
pageno
int4
Page number of this page within its large object
(counting from zero)
data
bytea
Actual data stored in the large object.
This will never be more than LOBLKSIZE bytes and may be less.
Each row of pg_largeobject holds data
for one page of a large object, beginning at
byte offset (pageno * LOBLKSIZE) within the object. The implementation
allows sparse storage: pages may be missing, and may be shorter than
LOBLKSIZE bytes even if they are not the last page of the object.
Missing regions within a large object read as zeroes.