pg_largeobject 表保存那些標記著"大對象"的數據。一個大對象是使用其創建時分配的 OID 標識的。每個大對象都分解成足夠小的小段或者"頁麵"以便以行的形式存儲在 pg_largeobject 裡。每頁的數據定義為 LOBLKSIZE(目前是 BLCKSZ/4 或者通常是 2K 字節)。
表43-21. pg_largeobject 字段
名字 | 類型 | 描述 | |
---|---|---|---|
loid | oid | 包含本頁的大對象的標識符 | |
pageno | int4 | 本頁在其大對象數據中的頁碼從零開始計算 | |
data | bytea | 存儲在大對象中的實際數據。這些數據絕不會超過 LOBLKSIZE 字節,而且可能更少。 |
pg_largeobject 的每一行保存一個大對象的一個頁麵,從該對象內部的字節偏移(pageno * LOBLKSIZE)開始。這種實現允許鬆散的存儲:頁麵可以丟失,而且可以比 LOBLKSIZE 字節少(即使它們不是對象的最後一頁)。大對象內丟失的部分讀做零。