2024年9月26日: PostgreSQL 17 发布!
支持的版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:devel
不支持的版本: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字节。大型对象中缺少的区域读取为零。

提交更正

如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符,或者需要进一步澄清,请使用此表单报告文档问题。