↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2
历史版本。 PostgreSQL 12 已结束支持。 2024-11-21. 请参阅 当前版本手册.

51.30. pg_largeobject #

目录 pg_largeobject 保存构成“大对象”的数据。一个大对象在被创建时会被分配一个 OID。每个大对象被分解成足够小的段或“页”,以便方便地作为行存储在 pg_largeobject 中。每页中的数据量被定义为 LOBLKSIZE(目前是 BLCKSZ/4,通常为 2 kB)。

在 PostgreSQL 9.0 之前,大对象没有相关的权限结构。因此,pg_largeobject 曾是公开可读的,并且可以用来获得系统中所有大对象的 OID(和内容)。但现在已经不是这样了;可使用 pg_largeobject_metadata 来获得大对象 OID 的列表。

表 51.30. pg_largeobject 列

名称类型引用 描述
loidoidpg_largeobject_metadata.oid 包含此页的大对象的标识符
pagenoint4  此页在它所属大对象中的页号(从 0 开始计)
databytea  实际存储在大对象中的数据。它从不会超过 LOBLKSIZE 字节,也可能更少。

pg_largeobject 的每一行保存一个大对象的一个页的数据,从对象内部的字节偏移量(pageno * LOBLKSIZE)开始。现在的实现允许稀疏存储:页面可能不存在,并且可能比 LOBLKSIZE 字节短(即便不是最后一页)。一个大对象中缺失的区域会被读出为 0。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.