所有大对象都存储在一个名为 pg_largeobject
的单个系统表中。每个大对象在系统表 pg_largeobject_metadata
中也有一条记录。大对象可以使用类似于标准文件操作的读/写 API 进行创建、修改和删除。
PostgreSQL 还支持一个称为 “TOAST” 的存储系统,会将大于单个数据库页面的值自动存储到每个表的二级存储区域中。这使大对象机制部分过时。大对象机制剩余的一个优势在于,它允许存储高达 4 TB 的值,而TOAST编制的字段最多只能为 1 GB。此外,可以高效地读取和大对象的部分进行更新,而对TOAST编制字段的大多数操作将以整体形式读取或写入整个值。