©
This document uses PHP Chinese website manual Release
pg_largeobject表保存那些标记着"大对象"的数据。一个大对象是使用其创建时分 配OID标识的。每个大对象都分解成足够小的小段或者"页面"以便以行的形式存储 在pg_largeobject里。每页的数据定义为 LOBLKSIZE(目前是BLCKSZ/4或者通常是2K字节)。
PostgreSQL9.0之前,没有权限结构 关联大对象。其结果是, pg_largeobject是公开可读的,并可能 用于获取系统中的所有大对象的OID(和内容)。这已不再是这种情况;使用 pg_largeobject_metadata 获取一个大对象OID列表。
Table 45-25. pg_largeobject Columns
名称 | 类型 | 引用 | 描述 |
---|---|---|---|
loid | oid | pg_largeobject_metadata.oid | 包含本页的大对象的标识符 |
pageno | int4 | 本页在其大对象数据中的页码(从零开始计算) | |
data | bytea | 存储在大对象中的实际数据。这些数据绝不会超过LOBLKSIZE字节,而且可能更少 |
pg_largeobject的每一行保存一个大对象的一个页面,从该对象内部的字节 偏移(pageno * LOBLKSIZE)开始。这种实现允许松散的存储:页面可能丢失, 而且可以比LOBLKSIZE字节少(即使它们不是对象的最后一页)。大对象内丢失的部分读取为零。