52.30. pg_largeobject #
РкаÑалоге pg_largeobject ÑодеÑжаÑÑÑ Ð´Ð°Ð½Ð½Ñе, обÑазÑÑÑие «болÑÑие обÑекÑÑ». ÐолÑÑой обÑÐµÐºÑ Ð¸Ð´ÐµÐ½ÑиÑиÑиÑÑеÑÑÑ Ð¿Ð¾ OID, назнаÑÐ°ÐµÐ¼Ð¾Ð¼Ñ Ð¿Ñи его Ñоздании. ÐаждÑй болÑÑой обÑÐµÐºÑ ÑазделÑеÑÑÑ Ð½Ð° ÑегменÑÑ Ð¸Ð»Ð¸ «ÑÑÑаниÑÑ», доÑÑаÑоÑно неболÑÑие Ð´Ð»Ñ Ñдобного ÑазмеÑÐµÐ½Ð¸Ñ Ð² ÑÑÑокаÑ
ÑаблиÑÑ pg_largeobject. ÐбÑÑм даннÑÑ
на ÑÑÑаниÑе опÑеделÑеÑÑÑ ÐºÐ°Ðº LOBLKSIZE (ÑÑо в наÑÑоÑÑее вÑÐµÐ¼Ñ ÑоÑÑавлÑÐµÑ BLCKSZ/4, Ñо еÑÑÑ Ð¾Ð±ÑÑно 2 Ðб).
Ðо PostgreSQL 9.0 болÑÑие обÑекÑÑ Ð½Ðµ бÑли ÑвÑÐ·Ð°Ð½Ñ Ñ Ð¼ÐµÑ
анизмом ÑазÑеÑений. Ð ÑезÑлÑÑаÑе ÑаблиÑа pg_largeobject бÑла доÑÑÑпна на ÑÑение Ð´Ð»Ñ Ð²ÑеÑ
и ÑеÑез Ð½ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло полÑÑиÑÑ OID (и ÑодеÑжимое) вÑеÑ
болÑÑиÑ
обÑекÑов в ÑиÑÑеме. ТепеÑÑ ÑÑо не Ñак; Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑпиÑка OID болÑÑиÑ
обÑекÑов нÑжно обÑаÑиÑÑÑÑ Ðº pg_largeobject_metadata.
ТаблиÑа 52.30. СÑолбÑÑ pg_largeobject
Тип ÑÑолбÑа ÐпиÑание |
|---|
ÐденÑиÑикаÑÐ¾Ñ Ð±Ð¾Ð»ÑÑого обÑекÑа, вклÑÑаÑÑего ÑÑÑ ÑÑÑаниÑÑ |
ÐÐ¾Ð¼ÐµÑ ÑÑой ÑÑÑаниÑÑ Ð² болÑÑом обÑекÑе (наÑÐ¸Ð½Ð°Ñ Ñ Ð½ÑлÑ) |
СобÑÑвенно даннÑе, Ñ
ÑанÑÑиеÑÑ Ð² болÑÑом обÑекÑе. ÐÑ
обÑÑм не Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑевÑÑаÑÑ |
Ркаждой ÑÑÑоке pg_largeobject ÑодеÑжаÑÑÑ Ð´Ð°Ð½Ð½Ñе Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð¹ ÑÑÑоки болÑÑого обÑекÑа, наÑÐ¸Ð½Ð°Ñ Ñо ÑмеÑÐµÐ½Ð¸Ñ (pageno * LOBLKSIZE) внÑÑÑи него (в байÑаÑ
). ÐÑа ÑеализаÑÐ¸Ñ Ð´Ð¾Ð¿ÑÑÐºÐ°ÐµÑ ÑазÑеженное Ñ
ÑанилиÑе: ÑÑÑаниÑÑ Ð¼Ð¾Ð³ÑÑ Ð¾ÑÑÑÑÑÑвоваÑÑ Ð¸ могÑÑ Ð±ÑÑÑ ÐºÐ¾ÑоÑе LOBLKSIZE, даже еÑли ÑÑо не поÑледние ÑÑÑаниÑÑ Ð¾Ð±ÑекÑов. ÐÑопÑÑеннÑе облаÑÑи в болÑÑом обÑекÑе бÑдÑÑ ÑÑиÑÑваÑÑÑÑ ÐºÐ°Ðº нÑлевÑе.