51.7. pg_attribute
РкаÑалоге pg_attribute Ñ
ÑаниÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑÑолбÑаÑ
ÑаблиÑÑ. ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÑолбÑа каждой ÑаблиÑÑ Ð² pg_attribute ÑÑÑеÑÑвÑÐµÑ Ñовно одна ÑÑÑока. (Также в ÑÑом каÑалоге бÑдÑÑ Ð·Ð°Ð¿Ð¸Ñи Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑов и на Ñамом деле Ð´Ð»Ñ Ð²ÑеÑ
обÑекÑов, пÑиÑÑÑÑÑвÑÑÑиÑ
в pg_class.)
ТеÑмин «аÑÑибÑÑ» ÑавнознаÑен «ÑÑолбÑÑ» и ÑпоÑÑеблÑеÑÑÑ Ð¿Ð¾ иÑÑоÑиÑеÑким пÑиÑинам.
ТаблиÑа 51.7. СÑолбÑÑ pg_attribute
Тип ÑÑолбÑа ÐпиÑание |
|---|
ТаблиÑа, к коÑоÑой пÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ ÑÑÐ¾Ð»Ð±ÐµÑ |
ÐÐ¼Ñ ÑÑолбÑа |
Тип даннÑÑ ÑÑого ÑÑолбÑа (Ð½Ð¾Ð»Ñ Ð´Ð»Ñ ÑдалÑнного ÑÑолбÑа) |
СÑÐ¾Ð»Ð±ÐµÑ |
ÐÐ¾Ð¿Ð¸Ñ |
ÐоÑÑдковÑй Ð½Ð¾Ð¼ÐµÑ ÑÑолбÑа. ÐбÑÑнÑе ÑÑолбÑÑ Ð½ÑмеÑÑÑÑÑÑ Ð¿Ð¾ возÑаÑÑаниÑ, наÑÐ¸Ð½Ð°Ñ Ñ 1. СиÑÑемнÑе ÑÑолбÑÑ, Ñакие как |
ЧиÑло ÑазмеÑноÑÑей, еÑли ÑÑÐ¾Ð»Ð±ÐµÑ Ð¸Ð¼ÐµÐµÑ Ñип маÑÑива; Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае. (РнаÑÑоÑÑее вÑÐµÐ¼Ñ ÑиÑло ÑазмеÑноÑÑей маÑÑива не конÑÑолиÑÑеÑÑÑ, поÑÑÐ¾Ð¼Ñ Ð»Ñбое ненÑлевое знаÑение по ÑÑÑи ознаÑÐ°ÐµÑ Â«ÑÑо маÑÑив».) |
ÐÑегда -1 в поÑÑоÑнном Ñ ÑанилиÑе, но когда запиÑÑ Ð·Ð°Ð³ÑÑжаеÑÑÑ Ð² памÑÑÑ, в ÑÑом поле Ð¼Ð¾Ð¶ÐµÑ ÐºÐµÑиÑоваÑÑÑÑ ÑмеÑение аÑÑибÑÑа в ÑÑÑоке |
Рполе |
ÐÐ¾Ð¿Ð¸Ñ |
ÐÐ¾Ð¿Ð¸Ñ |
ÐбÑÑно ÐºÐ¾Ð¿Ð¸Ñ |
ТекÑÑий меÑод ÑжаÑÐ¸Ñ ÑÑолбÑа. ÐбÑÑно задано знаÑение |
ÐÑедÑÑавлÑÐµÑ Ð¾Ð³ÑаниÑение NOT NULL. |
СÑÐ¾Ð»Ð±ÐµÑ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð»Ð¸ генеÑиÑÑÑÑее вÑÑажение, в ÑÑом ÑлÑÑае в каÑалоге |
СÑÐ¾Ð»Ð±ÐµÑ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение, коÑоÑое иÑполÑзÑеÑÑÑ, когда он полноÑÑÑÑ Ð¾ÑÑÑÑÑÑвÑÐµÑ Ð² ÑÑÑоке. ÐÑо Ð¸Ð¼ÐµÐµÑ Ð¼ÐµÑÑо, когда ÑÑÐ¾Ð»Ð±ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑеÑÑÑ Ñ Ð½ÐµÐ¸Ð·Ð¼ÐµÐ½ÑивÑм знаÑением |
ÐÑÑÑой Ñимвол ( |
ÐÑли нÑлевой Ð±Ð°Ð¹Ñ ( |
СÑÐ¾Ð»Ð±ÐµÑ Ð±Ñл ÑдалÑн и ÑепеÑÑ Ð½Ðµ ÑвлÑеÑÑÑ ÑабоÑим. УдалÑннÑй ÑÑÐ¾Ð»Ð±ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾-пÑÐµÐ¶Ð½ÐµÐ¼Ñ ÑизиÑеÑки пÑиÑÑÑÑÑвоваÑÑ Ð² ÑаблиÑе, но анализаÑÐ¾Ñ Ð·Ð°Ð¿ÑоÑов его игноÑиÑÑеÑ, Ñак ÑÑо обÑаÑиÑÑÑÑ Ðº Ð½ÐµÐ¼Ñ Ð¸Ð· SQL нелÑзÑ. |
СÑÐ¾Ð»Ð±ÐµÑ Ð¾Ð¿ÑеделÑн локалÑно в данном оÑноÑении. ÐамеÑÑÑе, ÑÑо ÑÑÐ¾Ð»Ð±ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð¿ÑеделÑн локалÑно и пÑи ÑÑом наÑледоваÑÑÑÑ. |
ЧиÑло пÑÑмÑÑ Ð¿Ñедков ÑÑого ÑÑолбÑа. СÑÐ¾Ð»Ð±ÐµÑ Ñ Ð½ÐµÐ½ÑлевÑм ÑиÑлом пÑедков нелÑÐ·Ñ ÑдалиÑÑ Ð¸Ð»Ð¸ пеÑеименоваÑÑ. |
Ðаданное Ð´Ð»Ñ ÑÑолбÑа пÑавило ÑоÑÑиÑовки, либо нолÑ, еÑли Ñип ÑÑолбÑа не ÑоÑÑиÑÑемÑй. |
ÐÑава доÑÑÑпа к ÑÑолбÑÑ, еÑли они бÑли Ð·Ð°Ð´Ð°Ð½Ñ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно Ð´Ð»Ñ ÑÑого ÑÑолбÑа |
ÐаÑамеÑÑÑ ÑÑÐ¾Ð²Ð½Ñ Ð°ÑÑибÑÑа, в виде ÑÑÑок «клÑÑ=знаÑение» |
ÐаÑамеÑÑÑ ÑÑÐ¾Ð²Ð½Ñ Ð°ÑÑибÑÑа Ð´Ð»Ñ Ð¾Ð±ÑÑÑок ÑÑоÑÐ¾Ð½Ð½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ , в виде ÑÑÑок «клÑÑ=знаÑение» |
Рданном ÑÑолбÑе ÑазмеÑаеÑÑÑ Ð¼Ð°ÑÑив Ñ Ð¾Ð´Ð½Ð¸Ð¼ ÑлеменÑом. ÐнаÑение в ÑÑом ÑлеменÑе иÑполÑзÑеÑÑÑ, когда ÑÑÐ¾Ð»Ð±ÐµÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¾ÑÑÑÑÑÑвÑÐµÑ Ð² ÑÑÑоке, ÑÑо Ð¸Ð¼ÐµÐµÑ Ð¼ÐµÑÑо, когда ÑÑÐ¾Ð»Ð±ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑеÑÑÑ Ñ Ð½ÐµÐ¸Ð·Ð¼ÐµÐ½ÑивÑм знаÑением |
РзапиÑи ÑдалÑнного ÑÑолбÑа в pg_attribute поле atttypid ÑбÑаÑÑваеÑÑÑ Ð² нолÑ, но attlen и дÑÑгие полÑ, копиÑÑемÑе из pg_type, ÑоÑ
ÑанÑÑÑ Ð°ÐºÑÑалÑнÑе знаÑениÑ. ÐÑо нÑжно, ÑÑÐ¾Ð±Ñ ÑпÑавиÑÑÑÑ Ñ ÑиÑÑаÑией, когда поÑле ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÑÑолбÑа ÑдалÑеÑÑÑ Ð¸ его Ñип даннÑÑ
, Ñак ÑÑо запиÑи в pg_type болÑÑе не бÑдеÑ. Ð ÑакиÑ
ÑлÑÑаÑÑ
Ð´Ð»Ñ Ð¸Ð½ÑеÑпÑеÑаÑии ÑодеÑжимого ÑÑÑоки ÑаблиÑÑ Ð¼Ð¾Ð³ÑÑ Ð¸ÑполÑзоваÑÑÑÑ attlen и дÑÑгие полÑ.