支持的版本:当前17)/ 16 / 15 / 14 / 13
开发版本:devel
不支持的版本: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

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

列名 类型

描述

loid oid (引用 pg_largeobject_metadata.oid)

包含此页的大型对象的标识符

pageno int4

此页在其大型对象中的页码(从零开始计数)

data bytea

存储在大型对象中的实际数据。它永远不会超过 LOBLKSIZE 字节,也可能更少。


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

提交更正

如果您在文档中发现任何不正确、与您使用特定功能的经验不符或需要进一步澄清的地方,请使用此表单报告文档问题。