🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 47.29\. `pg_largeobject` `pg_largeobject`表保存那些标记着"大对象"的数据。 一个大对象是使用其创建时分配的 OID 标识的。每个大对象都分解成足够小的小段或者 "页面"以便以行的形式存储在`pg_largeobject`里。 每页的数据定义为`LOBLKSIZE`(目前是`BLCKSZ/4`或者通常是 2K 字节)。 PostgreSQL 9.0之前,没有许可结构与大对象相关。因此,`pg_largeobject` 公开可读并且可以用来包含系统中所有大对象的OID(和内容)。现在不再是这样了; 使用[`pg_largeobject_metadata`](#calibre_link-720) 获取大对象OID的列表。 **Table 47-29\. `pg_largeobject` 字段** | 名字 | 类型 | 引用 | 描述 | | --- | --- | --- | --- | | `loid` | `oid` | `pg_largeobject_metadata`.oid | 包含本页的大对象的标识符 | | `pageno` | `int4` | 本页在其大对象数据中的页码从零开始计算 | | `data` | `bytea` | 存储在大对象中的实际数据。这些数据绝不会超过`LOBLKSIZE`字节,而且可能更少。 | `pg_largeobject`的每一行保存一个大对象的一个页面, 从该对象内部的字节偏移(`pageno * LOBLKSIZE`)开始。这种实现允许松散的存储: 页面可以丢失,而且可以比`LOBLKSIZE`字节少(即使它们不是对象的最后一页)。 大对象内丢失的部分读做零。