49.7. pg_attribute
РкаÑалоге pg_attribute Ñ
ÑаниÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑÑолбÑаÑ
ÑаблиÑÑ. ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÑолбÑа каждой ÑаблиÑÑ Ð² pg_attribute ÑÑÑеÑÑвÑÐµÑ Ñовно одна ÑÑÑока. (Также в ÑÑом каÑалоге бÑдÑÑ Ð·Ð°Ð¿Ð¸Ñи Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑов и на Ñамом деле Ð´Ð»Ñ Ð²ÑеÑ
обÑекÑов, пÑиÑÑÑÑÑвÑÑÑиÑ
в pg_class.)
ТеÑмин «аÑÑибÑÑ» ÑавнознаÑен «ÑÑолбÑÑ» и ÑпоÑÑеблÑеÑÑÑ Ð¿Ð¾ иÑÑоÑиÑеÑким пÑиÑинам.
ТаблиÑа 49.7. СÑолбÑÑ pg_attribute
| ÐÐ¼Ñ | Тип | СÑÑлки | ÐпиÑание |
|---|---|---|---|
attrelid | oid | | ТаблиÑа, к коÑоÑой пÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ ÑÑÐ¾Ð»Ð±ÐµÑ |
attname | name |  | ÐÐ¼Ñ ÑÑолбÑа |
atttypid | oid | | Тип даннÑÑ ÑÑого ÑÑолбÑа |
attstattarget | int4 |  | СÑÐ¾Ð»Ð±ÐµÑ attstattarget ÑпÑавлÑÐµÑ Ð´ÐµÑализаÑией ÑÑаÑиÑÑики, ÑобиÑаемой по ÑÑÐ¾Ð¼Ñ ÑÑолбÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ ANALYZE. ÐÑлевое знаÑение ÑказÑваеÑ, ÑÑо ÑÑаÑиÑÑика не ÑобиÑаеÑÑÑ. ÐÑи оÑÑиÑаÑелÑном знаÑении иÑполÑзÑеÑÑÑ ÑиÑÑемное огÑаниÑение ÑÑаÑиÑÑики по ÑмолÑаниÑ. ТоÑное знаÑение положиÑелÑнÑÑ
велиÑин опÑеделÑеÑÑÑ Ñипом даннÑÑ
. ÐÐ»Ñ ÑкалÑÑнÑÑ
Ñипов даннÑÑ
, attstattarget задаÑÑ Ð¸ Ñелевое ÑиÑло ÑобиÑаемÑÑ
«ÑамÑÑ
ÑаÑÑÑÑ
знаÑений», и Ñелевое ÑиÑло ÑоздаваемÑÑ
гÑÑпп гиÑÑогÑаммÑ. |
attlen | int2 |  | ÐÐ¾Ð¿Ð¸Ñ pg_type.typlen из запиÑи Ñипа ÑÑолбÑа |
attnum | int2 |  | ÐоÑÑдковÑй Ð½Ð¾Ð¼ÐµÑ ÑÑолбÑа. ÐбÑÑнÑе ÑÑолбÑÑ Ð½ÑмеÑÑÑÑÑÑ Ð¿Ð¾ возÑаÑÑаниÑ, наÑÐ¸Ð½Ð°Ñ Ñ 1. СиÑÑемнÑе ÑÑолбÑÑ, Ñакие как oid, имеÑÑ (обÑÑно) оÑÑиÑаÑелÑнÑе номеÑа. |
attndims | int4 |  | ЧиÑло ÑазмеÑноÑÑей, еÑли ÑÑÐ¾Ð»Ð±ÐµÑ Ð¸Ð¼ÐµÐµÑ Ñип маÑÑива; Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае. (РнаÑÑоÑÑее вÑÐµÐ¼Ñ ÑиÑло ÑазмеÑноÑÑей маÑÑива не конÑÑолиÑÑеÑÑÑ, поÑÑÐ¾Ð¼Ñ Ð»Ñбое ненÑлевое знаÑение по ÑÑÑи ознаÑÐ°ÐµÑ Â«ÑÑо маÑÑив».) |
attcacheoff | int4 |  | ÐÑегда -1 в поÑÑоÑнном Ñ ÑанилиÑе, но когда запиÑÑ Ð·Ð°Ð³ÑÑжаеÑÑÑ Ð² памÑÑÑ, в ÑÑом поле Ð¼Ð¾Ð¶ÐµÑ ÐºÐµÑиÑоваÑÑÑÑ ÑмеÑение аÑÑибÑÑа в ÑÑÑоке |
atttypmod | int4 |  | Рполе atttypmod запиÑÑваеÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑное ÑиÑло, ÑвÑзанное Ñ Ð¾Ð¿ÑеделÑннÑм Ñипом даннÑÑ
, ÑказÑваемое пÑи Ñоздании ÑаблиÑÑ (напÑимеÑ, макÑималÑнÑй ÑÐ°Ð·Ð¼ÐµÑ ÑÑолбÑа varchar). ÐÑо знаÑение пеÑедаÑÑÑÑ ÑÑнкÑиÑм ввода и пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ð¸Ð½Ñ ÐºÐ¾Ð½ÐºÑеÑного Ñипа. ÐÐ»Ñ Ñипов, коÑоÑÑм не нÑжен atttypmod, ÑÑо обÑÑно -1. |
attbyval | bool |  | ÐÐ¾Ð¿Ð¸Ñ pg_type.typbyval из запиÑи Ñипа ÑÑолбÑа |
attstorage | char |  | ÐбÑÑно ÐºÐ¾Ð¿Ð¸Ñ pg_type.typstorage из запиÑи Ñипа ÑÑолбÑа. ÐÐ»Ñ Ñипов, поддеÑживаÑÑиÑ
TOAST, можно изменÑÑÑ ÑÑо знаÑение поÑле ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑÑолбÑа и Ñаким обÑазом ÑпÑавлÑÑÑ Ð¿Ð¾Ð»Ð¸Ñикой Ñ
ÑанениÑ. |
attalign | char |  | ÐÐ¾Ð¿Ð¸Ñ pg_type.typalign из запиÑи Ñипа ÑÑолбÑа |
attnotnull | bool |  | ÐÑедÑÑавлÑÐµÑ Ð¾Ð³ÑаниÑение NOT NULL. |
atthasdef | bool |  | СÑÐ¾Ð»Ð±ÐµÑ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение по ÑмолÑаниÑ, в ÑÑом ÑлÑÑае в каÑалоге pg_attrdef бÑÐ´ÐµÑ ÑооÑвеÑÑÑвÑÑÑÐ°Ñ Ð·Ð°Ð¿Ð¸ÑÑ, опÑеделÑÑÑÐ°Ñ ÑÑо знаÑение. |
attidentity | char |  | ÐÑÑÑой Ñимвол ('') ÑказÑваеÑ, ÑÑо ÑÑо не ÑÑÐ¾Ð»Ð±ÐµÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑии. Символ a ÑказÑваеÑ, ÑÑо знаÑение генеÑиÑÑеÑÑÑ Ð²Ñегда, а d â ÑÑо знаÑение генеÑиÑÑеÑÑÑ Ð¿Ð¾ ÑмолÑаниÑ. |
attisdropped | bool |  | СÑÐ¾Ð»Ð±ÐµÑ Ð±Ñл ÑдалÑн и ÑепеÑÑ Ð½Ðµ ÑвлÑеÑÑÑ ÑабоÑим. УдалÑннÑй ÑÑÐ¾Ð»Ð±ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾-пÑÐµÐ¶Ð½ÐµÐ¼Ñ ÑизиÑеÑки пÑиÑÑÑÑÑвоваÑÑ Ð² ÑаблиÑе, но анализаÑÐ¾Ñ Ð·Ð°Ð¿ÑоÑов его игноÑиÑÑеÑ, Ñак ÑÑо обÑаÑиÑÑÑÑ Ðº Ð½ÐµÐ¼Ñ Ð¸Ð· SQL нелÑзÑ. |
attislocal | bool |  | СÑÐ¾Ð»Ð±ÐµÑ Ð¾Ð¿ÑеделÑн локалÑно в данном оÑноÑении. ÐамеÑÑÑе, ÑÑо ÑÑÐ¾Ð»Ð±ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð¿ÑеделÑн локалÑно и пÑи ÑÑом наÑледоваÑÑÑÑ. |
attinhcount | int4 |  | ЧиÑло пÑÑмÑÑ Ð¿Ñедков ÑÑого ÑÑолбÑа. СÑÐ¾Ð»Ð±ÐµÑ Ñ Ð½ÐµÐ½ÑлевÑм ÑиÑлом пÑедков нелÑÐ·Ñ ÑдалиÑÑ Ð¸Ð»Ð¸ пеÑеименоваÑÑ. |
attcollation | oid | | Ðаданное Ð´Ð»Ñ ÑÑолбÑа пÑавило ÑоÑÑиÑовки, либо нолÑ, еÑли Ñип ÑÑолбÑа не ÑоÑÑиÑÑемÑй. |
attacl | aclitem[] |  | ÐÑава доÑÑÑпа к ÑÑолбÑÑ, еÑли они бÑли Ð·Ð°Ð´Ð°Ð½Ñ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно Ð´Ð»Ñ ÑÑого ÑÑолбÑа |
attoptions | text[] |  | ÐаÑамеÑÑÑ ÑÑÐ¾Ð²Ð½Ñ Ð°ÑÑибÑÑа, в виде ÑÑÑок «клÑÑ=знаÑение» |
attfdwoptions | text[] |  | ÐаÑамеÑÑÑ ÑÑÐ¾Ð²Ð½Ñ Ð°ÑÑибÑÑа Ð´Ð»Ñ Ð¾Ð±ÑÑÑок ÑÑоÑÐ¾Ð½Ð½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ , в виде ÑÑÑок «клÑÑ=знаÑение» |
РзапиÑи ÑдалÑнного ÑÑолбÑа в pg_attribute поле atttypid ÑбÑаÑÑваеÑÑÑ Ð² нолÑ, но attlen и дÑÑгие полÑ, копиÑÑемÑе из pg_type, ÑоÑ
ÑанÑÑÑ Ð°ÐºÑÑалÑнÑе знаÑениÑ. ÐÑо нÑжно, ÑÑÐ¾Ð±Ñ ÑпÑавиÑÑÑÑ Ñ ÑиÑÑаÑией, когда поÑле ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÑÑолбÑа ÑдалÑеÑÑÑ Ð¸ его Ñип даннÑÑ
, Ñак ÑÑо запиÑи в pg_type болÑÑе не бÑдеÑ. Ð ÑакиÑ
ÑлÑÑаÑÑ
Ð´Ð»Ñ Ð¸Ð½ÑеÑпÑеÑаÑии ÑодеÑжимого ÑÑÑоки ÑаблиÑÑ Ð¼Ð¾Ð³ÑÑ Ð¸ÑполÑзоваÑÑÑÑ attlen и дÑÑгие полÑ.