pg_largeobject

A newer version of this documentation is available. Click here to view the most up-to-date release of the Greenplum 4.x documentation.

pg_largeobject

The pg_largeobject system catalog table 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 8K).

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.

Table 1. pg_catalog.pg_largeobject

column

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.