选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.1 已于 2016 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本

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

Name Type References Description
loid oid pg_largeobject_metadata.oid Identifier of the large object that includes this page
pageno int4   Page number of this page within its large object (counting from zero)
data bytea   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。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。