PostgreSQL
52.30. pg_largeobject
The catalog pg_largeobject
holds the data making up “[.quote]#large objects”. A large object is identified by an OID assigned when it is created. Each large object is broken into segments or [.quote]“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.
Table 52.30. pg_largeobject
Columns
Name | Type | References | Description |
---|---|---|---|
|
|
Identifier of the large object that includes this page |
|
|
|
Page number of this page within its large object (counting from zero) |
|
|
|
Actual data stored in the large object. This will never be more than |
+
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 | Up | Next |
---|---|---|
52.29. |
52.31. |
Copyright © 1996-2023 The PostgreSQL Global Development Group