PostgreSQL 7.2.1 Documentation
Prev | Chapter 3. System Catalogs | Next

# 3.12. pg_largeobject

`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 2Kbytes).

Table 3-12. 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.

Prev | Home | Next
pg_language | Up | pg_listener