PostgreSQL 18 中文参考文档(未翻译部分保留英文)🌐 切换到英文原版 →

33.1. 简介 #

所有大对象在底层均集中存储在单张名为 pg_largeobject 的系统表中,并在系统表 pg_largeobject_metadata 中登记归属元数据信息。大对象支持通过类似于操作系统文件标准 I/O(open、read、write、lseek 等)的 API 接口进行流式创建、按偏移量修改和销毁。

PostgreSQL 同时还支持基于行内超尺寸属性存储技术(TOAST),它会自动将超过单个数据页大小的宽字段透明外置到每张表的附属 TOAST 辅助表中。大对象机制相对于常规 TOAST 字段的显著优势在于:大对象支持高达 4 TB 的超大体积(而 TOAST 字段单值上限为 1 GB);更重要的是,大对象允许在任意字节偏移量上进行高精度的局部增量读写,而操作普通的 TOAST 字段通常必须将整个 1GB 数据作为一个不可分割的整体全量读入或重写。