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). Prior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject 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 pg_largeobject_metadata to obtain a list of large object OIDs.
English manual coverage begins with PostgreSQL 7.4. Source history and runtime observations have their own recorded version boundaries.
Reading PG 18·Select a recorded version
- kind
- catalog
- lang
- en
- measured attributes
- true
- metadata release
- 18.6
- runtime columns
- loid, pageno, data
- runtime verified
- false
- source
- english-manual
Definition PG 18
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). Prior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject 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 pg_largeobject_metadata to obtain a list of large object OIDs.
Catalog columns
| Column | Type | Nullability | Description |
|---|---|---|---|
| loid | oid | Not null | Identifier of the large object that includes this page |
| pageno | int4 | Not null | Page number of this page within its large object (counting from zero) |
| data | bytea | Not null | Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less. |
Compare versions
Source references
Full definition and evidence JSON
Definition sources
center · PostgreSQL 18 · catalog-bilingual-repair:17127ab7a17096839aba6e9b151671c978a7fdbebe580fdb2a26074eaf09b129
Text language: en · catalog-bilingual-repair:17127ab7a17096839aba6e9b151671c978a7fdbebe580fdb2a26074eaf09b129