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

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 9.1 已结束支持。 2016-10-27. 请参阅 当前版本手册.

45.28. pg_largeobject #

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

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

表 45.28. pg_largeobject 列

NameTypeReferencesDescription
loidoidpg_largeobject_metadata.oidIdentifier of the large object that includes this page
pagenoint4 Page number of this page within its large object (counting from zero)
databytea  Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.

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

报告文档问题

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