49.11. pg_class
РкаÑалоге pg_class опиÑÑваÑÑÑÑ ÑаблиÑÑ Ð¸ пÑакÑиÑеÑки вÑÑ, ÑÑо Ð¸Ð¼ÐµÐµÑ ÑÑолбÑÑ Ð¸Ð»Ð¸ каким-Ñо обÑазом подобно ÑаблиÑе. СÑда вÑ
одÑÑ Ð¸Ð½Ð´ÐµÐºÑÑ (но ÑмоÑÑиÑе Ñакже pg_index), поÑледоваÑелÑноÑÑи (но ÑмоÑÑиÑе Ñакже pg_sequence), пÑедÑÑавлениÑ, маÑеÑиализованнÑе пÑедÑÑавлениÑ, ÑоÑÑавнÑе ÑÐ¸Ð¿Ñ Ð¸ ÑаблиÑÑ TOAST; Ñм. relkind. Ðалее, подÑазÑÐ¼ÐµÐ²Ð°Ñ Ð²Ñе ÑÑи ÑÐ¸Ð¿Ñ Ð¾Ð±ÑекÑов, Ð¼Ñ Ð±Ñдем говоÑиÑÑ Ð¾Ð± «оÑноÑениÑÑ
». Ðе вÑе ÑÑолбÑÑ Ð·Ð´ÐµÑÑ Ð¸Ð¼ÐµÑÑ ÑмÑÑл Ð´Ð»Ñ Ð²ÑеÑ
Ñипов оÑноÑений.
ТаблиÑа 49.11. СÑолбÑÑ pg_class
| ÐÐ¼Ñ | Тип | СÑÑлки | ÐпиÑание |
|---|---|---|---|
oid | oid |  | ÐденÑиÑикаÑÐ¾Ñ ÑÑÑоки (ÑкÑÑÑÑй аÑÑибÑÑ; должен вÑбиÑаÑÑÑÑ Ñвно) |
relname | name |  | ÐÐ¼Ñ ÑаблиÑÑ, индекÑа, пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ Ñ. п. |
relnamespace | oid | | OID пÑоÑÑÑанÑÑва имÑн, ÑодеÑжаÑего ÑÑо оÑноÑение |
reltype | oid | | OID Ñипа даннÑÑ
, ÑооÑвеÑÑÑвÑÑÑего ÑÐ¸Ð¿Ñ ÑÑÑоки ÑÑой ÑаблиÑÑ, еÑли Ñаковой еÑÑÑ (Ð½Ð¾Ð»Ñ Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑов, Ñак как они не имеÑÑ Ð·Ð°Ð¿Ð¸Ñи в pg_type) |
reloftype | oid | | ÐÐ»Ñ ÑипизиÑованнÑÑ ÑаблиÑ, OID нижележаÑего ÑоÑÑавного Ñипа, или Ð½Ð¾Ð»Ñ Ð´Ð»Ñ Ð²ÑÐµÑ Ð´ÑÑÐ³Ð¸Ñ Ð¾ÑноÑений |
relowner | oid | | ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð¾ÑноÑÐµÐ½Ð¸Ñ |
relam | oid | | ÐÑли ÑÑо индекÑ, пÑименÑемÑй меÑод доÑÑÑпа (B-деÑево, Ñ ÐµÑ Ð¸ Ñ. д.) |
relfilenode | oid |  | ÐÐ¼Ñ Ñайла на диÑке Ñ ÑÑим оÑноÑением; Ð½Ð¾Ð»Ñ Ð¾Ð·Ð½Ð°ÑаеÑ, ÑÑо ÑÑо «оÑобÑажÑнное» пÑедÑÑавление, Ð¸Ð¼Ñ Ñайла Ð´Ð»Ñ ÐºÐ¾ÑоÑого опÑеделÑеÑÑÑ ÑоÑÑоÑнием на нижнем ÑÑовне |
reltablespace | oid | | ТаблиÑное пÑоÑÑÑанÑÑво, в коÑоÑом Ñ ÑаниÑÑÑ ÑÑо оÑноÑение. ÐÑли нолÑ, подÑазÑмеваеÑÑÑ Ð¿ÑоÑÑÑанÑÑво Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¿Ð¾ ÑмолÑаниÑ. (Ðе Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°ÑениÑ, еÑли Ñ Ð¾ÑноÑением не ÑвÑзан Ñайл на диÑке.) |
relpages | int4 |  | Ð Ð°Ð·Ð¼ÐµÑ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑой ÑаблиÑÑ Ð½Ð° диÑке (в ÑÑÑаниÑаÑ
ÑазмеÑа BLCKSZ). ÐÑо лиÑÑ Ð¿ÑимеÑÐ½Ð°Ñ Ð¾Ñенка, иÑполÑзÑÐµÐ¼Ð°Ñ Ð¿Ð»Ð°Ð½Ð¸ÑовÑиком. Ðна обновлÑеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸ VACUUM, ANALYZE и неÑколÑкими командами DDL, напÑимеÑ, CREATE INDEX. |
reltuples | float4 |  | ЧиÑло ÑÑÑок в ÑаблиÑе. ÐÑо лиÑÑ Ð¿ÑимеÑÐ½Ð°Ñ Ð¾Ñенка, иÑполÑзÑÐµÐ¼Ð°Ñ Ð¿Ð»Ð°Ð½Ð¸ÑовÑиком. Ðна обновлÑеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸ VACUUM, ANALYZE и неÑколÑкими командами DDL, напÑимеÑ, CREATE INDEX. |
relallvisible | int4 |  | ЧиÑло ÑÑÑаниÑ, помеÑеннÑÑ
как «полноÑÑÑÑ Ð²Ð¸Ð´Ð¸Ð¼Ñе» в каÑÑе видимоÑÑи ÑаблиÑÑ. ÐÑо лиÑÑ Ð¿ÑимеÑÐ½Ð°Ñ Ð¾Ñенка, иÑполÑзÑÐµÐ¼Ð°Ñ Ð¿Ð»Ð°Ð½Ð¸ÑовÑиком. Ðна обновлÑеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸ VACUUM, ANALYZE и неÑколÑкими командами DDL, напÑимеÑ, CREATE INDEX. |
reltoastrelid | oid | | OID ÑаблиÑÑ TOAST, ÑвÑзанной Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑаблиÑей, или 0, еÑли Ñаковой неÑ. Ð ÑаблиÑÑ TOAST, как во вÑоÑиÑнÑÑ, «вÑноÑÑÑÑÑ» болÑÑие аÑÑибÑÑÑ. |
relhasindex | bool |  | True, еÑли ÑÑо ÑаблиÑа и она Ð¸Ð¼ÐµÐµÑ (или недавно имела) индекÑÑ |
relisshared | bool |  | True, еÑли ÑÑа ÑаблиÑа ÑазделÑеÑÑÑ Ð²Ñеми базами даннÑÑ
в клаÑÑеÑе. РазделÑемÑми ÑвлÑÑÑÑÑ ÑолÑко некоÑоÑÑе ÑиÑÑемнÑе каÑалоги (как напÑимеÑ, pg_database). |
relpersistence | char |  | p = поÑÑоÑÐ½Ð½Ð°Ñ ÑаблиÑа (permanent), u = нежÑÑналиÑÑÐµÐ¼Ð°Ñ ÑаблиÑа (unlogged), t = вÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÑаблиÑа (temporary) |
relkind | char |  | r = обÑÑÐ½Ð°Ñ ÑаблиÑа (Relation), i = Ð¸Ð½Ð´ÐµÐºÑ (Index), S = поÑледоваÑелÑноÑÑÑ (Sequence), t = ÑаблиÑа TOAST, v = пÑедÑÑавление (View), m = маÑеÑиализованное пÑедÑÑавление (Materialized view), c = ÑоÑÑавной Ñип (Composite type), f = ÑÑоÑоннÑÑ ÑаблиÑа (Foreign table), p = ÑекÑиониÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ ÑаблиÑа (Partitioned table) |
relnatts | int2 |  | ЧиÑло полÑзоваÑелÑÑкиÑ
ÑÑолбÑов в оÑноÑении (ÑиÑÑемнÑе ÑÑолбÑÑ Ð½Ðµ ÑÑиÑаÑÑÑÑ). СÑолÑко же ÑооÑвеÑÑÑвÑÑÑиÑ
ÑÑÑок должно бÑÑÑ Ð² pg_attribute. См. Ñакже pg_attribute.attnum. |
relchecks | int2 |  | ЧиÑло огÑаниÑений CHECK в ÑаблиÑе; Ñм. каÑалог pg_constraint |
relhasoids | bool |  | True, еÑли Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ ÑÑÑоки оÑноÑÐµÐ½Ð¸Ñ Ð³ÐµÐ½ÐµÑиÑÑеÑÑÑ OID |
relhaspkey | bool |  | True, еÑли в ÑаблиÑе имееÑÑÑ (или имелÑÑ) пеÑвиÑнÑй клÑÑ |
relhasrules | bool |  | True, еÑли Ð´Ð»Ñ ÑаблиÑÑ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ñ (или бÑли опÑеделенÑ) пÑавила; Ñм. каÑалог pg_rewrite |
relhastriggers | bool |  | True, еÑли Ð´Ð»Ñ ÑаблиÑÑ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ñ (или бÑли опÑеделенÑ) ÑÑиггеÑÑ; Ñм. каÑалог pg_trigger |
relhassubclass | bool |  | True, еÑли Ñ ÑаблиÑÑ ÐµÑÑÑ (или бÑли) поÑомки в иеÑаÑÑ Ð¸Ð¸ наÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ |
relrowsecurity | bool |  | True, еÑли Ð´Ð»Ñ ÑаблиÑÑ Ð²ÐºÐ»ÑÑена заÑиÑа на ÑÑовне ÑÑÑок; Ñм. каÑалог pg_policy |
relforcerowsecurity | bool |  | True, еÑли заÑиÑа на ÑÑовне ÑÑÑок (когда она вклÑÑена) Ñакже пÑименÑеÑÑÑ Ðº владелÑÑÑ ÑаблиÑÑ; Ñм. каÑалог pg_policy |
relispopulated | bool |  | True, еÑли оÑноÑение наполнено даннÑми (ÑÑо иÑÑинно Ð´Ð»Ñ Ð²ÑÐµÑ Ð¾ÑноÑений, кÑоме некоÑоÑÑÑ Ð¼Ð°ÑеÑиализованнÑÑ Ð¿ÑедÑÑавлений) |
relreplident | char |  | СÑолбÑÑ, ÑоÑмиÑÑÑÑие «иденÑиÑикаÑÐ¾Ñ Ñеплики» Ð´Ð»Ñ ÑÑÑок: d = по ÑмолÑÐ°Ð½Ð¸Ñ (пеÑвиÑнÑй клÑÑ, еÑли еÑÑÑ), n = никакие (nothing), f = вÑе ÑÑолбÑÑ, i = Ð¸Ð½Ð´ÐµÐºÑ Ñо ÑвойÑÑвом indisreplident (еÑли Ñанее иÑполÑзованнÑй Ð¸Ð½Ð´ÐµÐºÑ ÑдалÑн, дейÑÑвÑÐµÑ Ñак же, как n) |
relispartition | bool |  | True, еÑли ÑаблиÑа ÑвлÑеÑÑÑ ÑекÑией |
relfrozenxid | xid |  | ÐденÑиÑикаÑоÑÑ ÑÑанзакÑий, пÑедÑеÑÑвÑÑÑие данномÑ, в ÑÑой ÑаблиÑе Ð·Ð°Ð¼ÐµÐ½ÐµÐ½Ñ Ð¿Ð¾ÑÑоÑннÑм («замоÑоженнÑм») иденÑиÑикаÑоÑом ÑÑанзакÑии. ÐÑо нÑжно Ð´Ð»Ñ Ð¾Ð¿ÑеделениÑ, когда ÑÑебÑеÑÑÑ Ð¾ÑиÑаÑÑ ÑаблиÑÑ Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ Ð·Ð°ÑÐ¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑов или Ð´Ð»Ñ ÑокÑаÑÐµÐ½Ð¸Ñ Ð¾Ð±ÑÑма pg_xact. ÐÑли ÑÑо оÑноÑение â не ÑаблиÑа, знаÑение Ñавно нÑÐ»Ñ (InvalidTransactionId). |
relminmxid | xid |  | ÐденÑиÑикаÑоÑÑ Ð¼ÑлÑÑиÑÑанзакÑий, пÑедÑеÑÑвÑÑÑие данномÑ, в ÑÑой ÑаблиÑе Ð·Ð°Ð¼ÐµÐ½ÐµÐ½Ñ Ð´ÑÑгим иденÑиÑикаÑоÑом ÑÑанзакÑии. ÐÑо нÑжно Ð´Ð»Ñ Ð¾Ð¿ÑеделениÑ, когда ÑÑебÑеÑÑÑ Ð¾ÑиÑаÑÑ ÑаблиÑÑ Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ Ð·Ð°ÑÐ¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑов мÑлÑÑиÑÑанзакÑий или Ð´Ð»Ñ ÑокÑаÑÐµÐ½Ð¸Ñ Ð¾Ð±ÑÑма pg_multixact. ÐÑли ÑÑо оÑноÑение â не ÑаблиÑа, знаÑение Ñавно нÑÐ»Ñ (InvalidMultiXactId). |
relacl | aclitem[] |  | ÐÑава доÑÑÑпа; за подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº опиÑÐ°Ð½Ð¸Ñ GRANT и REVOKE |
reloptions | text[] |  | СпеÑиалÑнÑе паÑамеÑÑÑ Ð´Ð»Ñ Ð¼ÐµÑодов доÑÑÑпа, в виде ÑÑÑок «клÑÑ=знаÑение» |
relpartbound | pg_node_tree |  | ÐÑли ÑаблиÑа ÑвлÑеÑÑÑ ÑекÑией (Ñм. relispartition), внÑÑÑеннее пÑедÑÑавление гÑÐ°Ð½Ð¸Ñ ÑекÑии |
ÐекоÑоÑÑе логиÑеÑкие Ñлаги в pg_class поддеÑживаÑÑÑÑ Ð½Ðµ ÑÑÑого: гаÑанÑиÑÑеÑÑÑ, ÑÑо они бÑдÑÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð¿Ñи пеÑеÑ
оде в опÑеделÑнное ÑоÑÑоÑние, но они могÑÑ Ð½Ðµ ÑбÑаÑÑваÑÑÑÑ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾, когда ÑÑÐ»Ð¾Ð²Ð¸Ñ Ð¿Ð¾Ð¼ÐµÐ½ÑÑÑÑÑ. ÐапÑимеÑ, relhasindex ÑÑÑанавливаеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ CREATE INDEX, но никогда не ÑбÑаÑÑваеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ DROP INDEX. ÐмеÑÑо ÑÑого, Ñлаг relhasindex ÑбÑаÑÑваеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ VACUUM, еÑли она наÑ
одиÑ, ÑÑо в ÑаблиÑе Ð½ÐµÑ Ð¸Ð½Ð´ÐµÐºÑов. Ð¢Ð°ÐºÐ°Ñ Ð¾ÑганизаÑÐ¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ ÑоÑÑоÑÐ½Ð¸Ñ Ð³Ð¾Ð½ÐºÐ¸ и ÑпоÑобÑÑвÑÐµÑ Ð¿Ð°ÑаллелÑÐ½Ð¾Ð¼Ñ Ð¸ÑполÑзованиÑ.