PostgreSQL 8.3.1 Documentation
Prev | Fast Backward | Chapter 44. System Catalogs | Fast Forward | Next

# 44.22. `pg_largeobject`

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 44-22. `pg_largeobject` Columns

Name | Type | 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 might 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 might be missing, and might 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`