pg_largeobject

pg_largeobject系统目录表保存构成“大对象”的数据。大对象由创建时分配的OID来识别。每个大对象被分解成便于在 pg_largeobject表中储存为行的足够小的段或者“页”。每页的数据量被定义为LOBLKSIZE(当前是 BLCKSZ/4,或者通常是 8K)。

pg_largeobject的每一行都保存一个大对象的一个页,从对象内的字节偏移量(pageno * LOBLKSIZE)开始。该实现允许稀疏存储:页面可以丢失,并且即使它们不是对象的最后一页也可能比LOBLKSIZE字节更短。大对象中缺少的区域被读作0。

表 1. pg_catalog.pg_largeobject
类型参考描述
loidoid 包含这一页的大对象的标识符。
pagenoint4 大对象中该页的页号(从0开始计数)。
databytea 存储在大对象中的实际数据。该数据不会超过LOBLKSIZE字节数而且可能会更小。

上级话题: 系统目录定义