?
Dieses Dokument verwendet PHP-Handbuch für chinesische Websites Freigeben
pg_largeobject表保存那些標(biāo)記著"大對(duì)象"的數(shù)據(jù)。一個(gè)大對(duì)象是使用其創(chuàng)建時(shí)分 配OID標(biāo)識(shí)的。每個(gè)大對(duì)象都分解成足夠小的小段或者"頁(yè)面"以便以行的形式存儲(chǔ) 在pg_largeobject里。每頁(yè)的數(shù)據(jù)定義為 LOBLKSIZE(目前是BLCKSZ/4或者通常是2K字節(jié))。
PostgreSQL9.0之前,沒(méi)有權(quán)限結(jié)構(gòu) 關(guān)聯(lián)大對(duì)象。其結(jié)果是, pg_largeobject是公開(kāi)可讀的,并可能 用于獲取系統(tǒng)中的所有大對(duì)象的OID(和內(nèi)容)。這已不再是這種情況;使用 pg_largeobject_metadata 獲取一個(gè)大對(duì)象OID列表。
Table 45-25. pg_largeobject Columns
名稱(chēng) | 類(lèi)型 | 引用 | 描述 |
---|---|---|---|
loid | oid | pg_largeobject_metadata.oid | 包含本頁(yè)的大對(duì)象的標(biāo)識(shí)符 |
pageno | int4 | ? | 本頁(yè)在其大對(duì)象數(shù)據(jù)中的頁(yè)碼(從零開(kāi)始計(jì)算) |
data | bytea | ? | 存儲(chǔ)在大對(duì)象中的實(shí)際數(shù)據(jù)。這些數(shù)據(jù)絕不會(huì)超過(guò)LOBLKSIZE字節(jié),而且可能更少 |
pg_largeobject的每一行保存一個(gè)大對(duì)象的一個(gè)頁(yè)面,從該對(duì)象內(nèi)部的字節(jié) 偏移(pageno * LOBLKSIZE)開(kāi)始。這種實(shí)現(xiàn)允許松散的存儲(chǔ):頁(yè)面可能丟失, 而且可以比LOBLKSIZE字節(jié)少(即使它們不是對(duì)象的最后一頁(yè))。大對(duì)象內(nèi)丟失的部分讀取為零。