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