52.11. pg_class #
РкаÑалоге pg_class опиÑÑваÑÑÑÑ ÑаблиÑÑ Ð¸ пÑоÑие обÑекÑÑ, имеÑÑие ÑÑолбÑÑ Ð¸Ð»Ð¸ каким-Ñо обÑазом подобнÑе ÑаблиÑам. СÑда вÑ
одÑÑ Ð¸Ð½Ð´ÐµÐºÑÑ (но ÑмоÑÑиÑе Ñакже pg_index), поÑледоваÑелÑноÑÑи (но ÑмоÑÑиÑе Ñакже pg_sequence), пÑедÑÑавлениÑ, маÑеÑиализованнÑе пÑедÑÑавлениÑ, ÑоÑÑавнÑе ÑÐ¸Ð¿Ñ Ð¸ ÑаблиÑÑ TOAST; Ñм. relkind. Ðалее, подÑазÑÐ¼ÐµÐ²Ð°Ñ Ð²Ñе ÑÑи ÑÐ¸Ð¿Ñ Ð¾Ð±ÑекÑов, Ð¼Ñ Ð±Ñдем говоÑиÑÑ Ð¾Ð± «оÑноÑениÑÑ
». Ðе вÑе ÑÑолбÑÑ pg_class здеÑÑ Ð¸Ð¼ÐµÑÑ ÑмÑÑл Ð´Ð»Ñ Ð²ÑеÑ
видов оÑноÑений.
ТаблиÑа 52.11. СÑолбÑÑ pg_class
Тип ÑÑолбÑа ÐпиÑание |
|---|
ÐденÑиÑикаÑÐ¾Ñ ÑÑÑоки |
ÐÐ¼Ñ ÑаблиÑÑ, индекÑа, пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ Ñ. п. |
OID пÑоÑÑÑанÑÑва имÑн, ÑодеÑжаÑего ÑÑо оÑноÑение |
OID Ñипа даннÑÑ
, ÑооÑвеÑÑÑвÑÑÑего ÑÐ¸Ð¿Ñ ÑÑÑоки ÑÑой ÑаблиÑÑ, еÑли Ñаковой еÑÑÑ; Ð½Ð¾Ð»Ñ Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑов, поÑледоваÑелÑноÑÑей и TOAST-ÑаблиÑ, Ñак как они не имеÑÑ Ð·Ð°Ð¿Ð¸Ñи в |
OID нижележаÑего ÑоÑÑавного Ñипа Ð´Ð»Ñ ÑипизиÑованнÑÑ ÑаблиÑ; Ð½Ð¾Ð»Ñ Ð´Ð»Ñ Ð²ÑÐµÑ Ð´ÑÑÐ³Ð¸Ñ Ð¾ÑноÑений |
ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð¾ÑноÑÐµÐ½Ð¸Ñ |
ÐеÑод доÑÑÑпа к ÑаблиÑе или индекÑÑ. ÐÑли Ñ Ð¾ÑноÑÐµÐ½Ð¸Ñ Ð½ÐµÑ Ñайла на диÑке или оно ÑвлÑеÑÑÑ Ð¿Ð¾ÑледоваÑелÑноÑÑÑÑ, Ñказанное знаÑение ни на ÑÑо не влиÑеÑ, кÑоме ÑлÑÑаев Ñ ÑекÑиониÑованнÑми ÑаблиÑами. ÐÐ»Ñ Ð½Ð¸Ñ
ÑÑо знаÑение Ð¸Ð¼ÐµÐµÑ Ð¿ÑиоÑиÑÐµÑ Ð½Ð°Ð´ |
ÐÐ¼Ñ Ñайла на диÑке Ñ ÑÑим оÑноÑением; Ð½Ð¾Ð»Ñ Ð¾Ð·Ð½Ð°ÑаеÑ, ÑÑо ÑÑо «оÑобÑажÑнное» пÑедÑÑавление, Ð¸Ð¼Ñ Ñайла Ð´Ð»Ñ ÐºÐ¾ÑоÑого опÑеделÑеÑÑÑ ÑоÑÑоÑнием на нижнем ÑÑовне |
ТаблиÑное пÑоÑÑÑанÑÑво, в коÑоÑом Ñ ÑаниÑÑÑ ÑÑо оÑноÑение. ÐÑли Ñказан нолÑ, подÑазÑмеваеÑÑÑ ÑаблиÑное пÑоÑÑÑанÑÑво Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¿Ð¾ ÑмолÑаниÑ. ÐÑли Ñ Ð¾ÑноÑÐµÐ½Ð¸Ñ Ð½ÐµÑ Ñайла на диÑке, Ñказанное знаÑение ни на ÑÑо не влиÑеÑ, кÑоме ÑлÑÑаев Ñ ÑекÑиониÑованнÑми ÑаблиÑами, где ÑÑо ÑаблиÑное пÑоÑÑÑанÑÑво, в коÑоÑом бÑдÑÑ ÑоздаваÑÑÑÑ ÑекÑии, еÑли пÑоÑÑÑанÑÑво не Ñказано Ñвно в команде ÑозданиÑ. |
Ð Ð°Ð·Ð¼ÐµÑ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑой ÑаблиÑÑ Ð½Ð° диÑке (в ÑÑÑаниÑаÑ
ÑазмеÑа |
ЧиÑло акÑÑалÑнÑÑ
ÑÑÑок в ÑаблиÑе. ÐÑо лиÑÑ Ð¿ÑимеÑÐ½Ð°Ñ Ð¾Ñенка, иÑполÑзÑÐµÐ¼Ð°Ñ Ð¿Ð»Ð°Ð½Ð¸ÑовÑиком. Ðна обновлÑеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸ |
ЧиÑло ÑÑÑаниÑ, помеÑеннÑÑ
как «полноÑÑÑÑ Ð²Ð¸Ð´Ð¸Ð¼Ñе» в каÑÑе видимоÑÑи ÑаблиÑÑ. ÐÑо лиÑÑ Ð¿ÑимеÑÐ½Ð°Ñ Ð¾Ñенка, иÑполÑзÑÐµÐ¼Ð°Ñ Ð¿Ð»Ð°Ð½Ð¸ÑовÑиком. Ðна обновлÑеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸ |
ЧиÑло ÑÑÑаниÑ, помеÑеннÑÑ
как «полноÑÑÑÑ Ð·Ð°Ð¼Ð¾ÑоженнÑе» в каÑÑе видимоÑÑи ÑаблиÑÑ. ÐÑо лиÑÑ Ð¿ÑимеÑÐ½Ð°Ñ Ð¾Ñенка, иÑполÑзÑÐµÐ¼Ð°Ñ Ð²Ð¼ÐµÑÑе Ñ Ð·Ð½Ð°Ñением |
OID ÑаблиÑÑ TOAST, ÑвÑзанной Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑаблиÑей, или нолÑ, еÑли Ñаковой неÑ. Ð ÑаблиÑÑ TOAST, как во вÑоÑиÑнÑÑ, «вÑноÑÑÑÑÑ» болÑÑие аÑÑибÑÑÑ. |
True, еÑли ÑÑо ÑаблиÑа и она Ð¸Ð¼ÐµÐµÑ (или недавно имела) индекÑÑ |
True, еÑли ÑÑа ÑаблиÑа ÑазделÑеÑÑÑ Ð²Ñеми базами даннÑÑ
в клаÑÑеÑе. РазделÑемÑми ÑвлÑÑÑÑÑ ÑолÑко некоÑоÑÑе ÑиÑÑемнÑе каÑалоги (напÑÐ¸Ð¼ÐµÑ |
|
|
ЧиÑло полÑзоваÑелÑÑкиÑ
ÑÑолбÑов в оÑноÑении (ÑиÑÑемнÑе ÑÑолбÑÑ Ð½Ðµ ÑÑиÑаÑÑÑÑ). СÑолÑко же ÑооÑвеÑÑÑвÑÑÑиÑ
ÑÑÑок должно бÑÑÑ Ð² |
ЧиÑло огÑаниÑений |
True, еÑли Ð´Ð»Ñ ÑаблиÑÑ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ñ (или бÑли опÑеделенÑ) пÑавила; Ñм. каÑалог |
True, еÑли Ð´Ð»Ñ ÑаблиÑÑ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ñ (или бÑли опÑеделенÑ) ÑÑиггеÑÑ; Ñм. каÑалог |
True, еÑли Ñ ÑаблиÑÑ Ð¸Ð»Ð¸ индекÑа еÑÑÑ (или бÑли) ÑекÑии или поÑомки в иеÑаÑÑ Ð¸Ð¸ наÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ |
True, еÑли Ð´Ð»Ñ ÑаблиÑÑ Ð²ÐºÐ»ÑÑена заÑиÑа на ÑÑовне ÑÑÑок; Ñм. каÑалог |
True, еÑли заÑиÑа на ÑÑовне ÑÑÑок (когда она вклÑÑена) Ñакже пÑименÑеÑÑÑ Ðº владелÑÑÑ ÑаблиÑÑ; Ñм. каÑалог |
True, еÑли оÑноÑение наполнено даннÑми (ÑÑо иÑÑинно Ð´Ð»Ñ Ð²ÑÐµÑ Ð¾ÑноÑений, кÑоме некоÑоÑÑÑ Ð¼Ð°ÑеÑиализованнÑÑ Ð¿ÑедÑÑавлений) |
СÑолбÑÑ, ÑоÑмиÑÑÑÑие «иденÑиÑикаÑÐ¾Ñ Ñеплики» Ð´Ð»Ñ ÑÑÑок: |
True, еÑли ÑаблиÑа или Ð¸Ð½Ð´ÐµÐºÑ ÑвлÑеÑÑÑ ÑекÑией |
ÐÐ»Ñ Ð½Ð¾Ð²ÑÑ Ð¾ÑноÑений, запиÑÑваемÑÑ Ð² пÑоÑеÑÑе опеÑаÑии DDL, ÑÑебÑÑÑей пеÑезапиÑи ÑаблиÑÑ, ÑÑо поле ÑодеÑÐ¶Ð¸Ñ OID иÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ оÑноÑениÑ; в пÑоÑивном ÑлÑÑае â нолÑ. ÐÑо ÑоÑÑоÑние видимо ÑолÑко внÑÑÑи; в ÑÑом поле никогда не должно бÑÑÑ Ð½ÐµÐ½Ñлевого знаÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ð¸Ð´Ð¸Ð¼Ð¾Ð³Ð¾ полÑзоваÑелем оÑноÑениÑ. |
ÐденÑиÑикаÑоÑÑ ÑÑанзакÑий, пÑедÑеÑÑвÑÑÑие данномÑ, в ÑÑой ÑаблиÑе Ð·Ð°Ð¼ÐµÐ½ÐµÐ½Ñ Ð¿Ð¾ÑÑоÑннÑм («замоÑоженнÑм») иденÑиÑикаÑоÑом ÑÑанзакÑии. ÐÑо нÑжно Ð´Ð»Ñ Ð¾Ð¿ÑеделениÑ, когда ÑÑебÑеÑÑÑ Ð¾ÑиÑаÑÑ ÑаблиÑÑ Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ Ð·Ð°ÑÐ¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑов или Ð´Ð»Ñ ÑокÑаÑÐµÐ½Ð¸Ñ Ð¾Ð±ÑÑма |
ÐденÑиÑикаÑоÑÑ Ð¼ÑлÑÑиÑÑанзакÑий, пÑедÑеÑÑвÑÑÑие данномÑ, в ÑÑой ÑаблиÑе Ð·Ð°Ð¼ÐµÐ½ÐµÐ½Ñ Ð´ÑÑгим иденÑиÑикаÑоÑом ÑÑанзакÑии. ÐÑо нÑжно Ð´Ð»Ñ Ð¾Ð¿ÑеделениÑ, когда ÑÑебÑеÑÑÑ Ð¾ÑиÑаÑÑ ÑаблиÑÑ Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ Ð·Ð°ÑÐ¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑов мÑлÑÑиÑÑанзакÑий или Ð´Ð»Ñ ÑокÑаÑÐµÐ½Ð¸Ñ Ð¾Ð±ÑÑма |
ÐÑава доÑÑÑпа; за подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº РазделÑ 5.8. |
СпеÑиалÑнÑе паÑамеÑÑÑ Ð´Ð»Ñ Ð¼ÐµÑодов доÑÑÑпа, в виде ÑÑÑок «клÑÑ=знаÑение» |
ÐÑли ÑаблиÑа ÑвлÑеÑÑÑ ÑекÑией (Ñм. |
ÐекоÑоÑÑе логиÑеÑкие Ñлаги в pg_class поддеÑживаÑÑÑÑ Ð½Ðµ ÑÑÑого: гаÑанÑиÑÑеÑÑÑ, ÑÑо они бÑдÑÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð¿Ñи пеÑеÑ
оде в опÑеделÑнное ÑоÑÑоÑние, но они могÑÑ Ð½Ðµ ÑбÑаÑÑваÑÑÑÑ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾, когда ÑÑÐ»Ð¾Ð²Ð¸Ñ Ð¿Ð¾Ð¼ÐµÐ½ÑÑÑÑÑ. ÐапÑимеÑ, relhasindex ÑÑÑанавливаеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ CREATE INDEX, но никогда не ÑбÑаÑÑваеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ DROP INDEX. ÐмеÑÑо ÑÑого, Ñлаг relhasindex ÑбÑаÑÑваеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ VACUUM, еÑли она наÑ
одиÑ, ÑÑо в ÑаблиÑе Ð½ÐµÑ Ð¸Ð½Ð´ÐµÐºÑов. Ð¢Ð°ÐºÐ°Ñ Ð¾ÑганизаÑÐ¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ ÑоÑÑоÑÐ½Ð¸Ñ Ð³Ð¾Ð½ÐºÐ¸ и ÑпоÑобÑÑвÑÐµÑ Ð¿Ð°ÑаллелÑÐ½Ð¾Ð¼Ñ Ð¸ÑполÑзованиÑ.