## 52.30.`pg_largeobject`
[](<>)
目录`pg_largeobject`保存构成“大对象”的数据。大对象由创建时分配的 OID 标识。每个大对象都被分成足够小的段或“页面”,以便方便地存储为行`pg_largeobject`.每页的数据量定义为`LOBLKSIZE`(目前是`BLCKSZ/4`,或通常为 2 kB)。
在 PostgreSQL 9.0 之前,没有与大对象关联的权限结构。因此,`pg_largeobject`是公开可读的,可用于获取系统中所有大型对象的 OID(和内容)。这已不再是这种情况;采用[`pg_largeobject_metadata`](catalog-pg-largeobject-metadata.html)获取大对象 OID 的列表。
**表 52.30.`pg_largeobject`列**
| 列类型
描述 |
| --------------- |
| `样体` `样的`(参考[`pg_largeobject_metadata`](catalog-pg-largeobject-metadata.html).`样的`)
包含此页面的大对象的标识符 |
| `页面诺` `整数4`
此页面在其大对象中的页码(从零开始计数) |
| `数据` `拜茶`
存储在大对象中的实际数据。这永远不会超过`LOBLKSIZE`字节,可能会更少。 |
每一行`pg_largeobject`保存大对象的一页的数据,从字节偏移量(`页号 * LOBLKSIZE`) 对象内。该实现允许稀疏存储:页面可能丢失,并且可能比`LOBLKSIZE`字节,即使它们不是对象的最后一页。大对象中的缺失区域读取为零。