52.13. pg_constraint #
РкаÑалоге pg_constraint Ñ
ÑанÑÑÑÑ Ð¾Ð³ÑаниÑениÑ-пÑовеÑки, огÑаниÑениÑ-иÑклÑÑениÑ, огÑаниÑÐµÐ½Ð¸Ñ NOT NULL, а Ñакже огÑаниÑÐµÐ½Ð¸Ñ Ð¿ÐµÑвиÑного клÑÑа, ÑникалÑноÑÑи и внеÑниÑ
клÑÑей, опÑеделÑннÑе Ð´Ð»Ñ ÑаблиÑ. (ÐгÑаниÑÐµÐ½Ð¸Ñ ÑÑолбÑов опиÑÑваÑÑÑÑ ÐºÐ°Ðº и вÑе оÑÑалÑнÑе. ÐÑбое огÑаниÑение ÑÑолбÑа ÑавнознаÑно некоÑоÑÐ¾Ð¼Ñ Ð¾Ð³ÑаниÑÐµÐ½Ð¸Ñ ÑаблиÑÑ.)
ÐÐ»Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑкиÑ
ÑÑиггеÑов огÑаниÑений (ÑоздаваемÑÑ
командой CREATE CONSTRAINT TRIGGER) в ÑÑой ÑаблиÑе Ñакже ÑоздаÑÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑ.
ÐдеÑÑ Ñакже Ñ ÑанÑÑÑÑ Ð¾Ð³ÑаниÑÐµÐ½Ð¸Ñ Ð´Ð¾Ð¼ÐµÐ½Ð¾Ð².
ТаблиÑа 52.13. СÑолбÑÑ pg_constraint
Тип ÑÑолбÑа ÐпиÑание |
|---|
ÐденÑиÑикаÑÐ¾Ñ ÑÑÑоки |
ÐÐ¼Ñ Ð¾Ð³ÑаниÑÐµÐ½Ð¸Ñ (не обÑзаÑелÑно ÑникалÑное!) |
OID пÑоÑÑÑанÑÑва имÑн, ÑодеÑжаÑего ÑÑо огÑаниÑение |
|
ЯвлÑеÑÑÑ Ð»Ð¸ огÑаниÑение оÑкладÑваемÑм? |
ЯвлÑеÑÑÑ Ð»Ð¸ огÑаниÑение оÑложеннÑм по ÑмолÑаниÑ? |
ÐейÑÑвÑÐµÑ Ð»Ð¸ огÑаниÑение? |
ÐгÑаниÑение пÑовеÑено? |
ТаблиÑа, Ð´Ð»Ñ ÐºÐ¾ÑоÑой ÑÑÑановлено ÑÑо огÑаниÑение; нолÑ, еÑли ÑÑо не огÑаниÑение ÑаблиÑÑ |
Ðомен, к коÑоÑÐ¾Ð¼Ñ Ð¾ÑноÑиÑÑÑ ÑÑо огÑаниÑение; нолÑ, еÑли ÑÑо не огÑаниÑение домена |
ÐндекÑ, поддеÑживаÑÑий ÑÑо огÑаниÑение, еÑли ÑÑо огÑаниÑение ÑникалÑноÑÑи, пеÑвиÑного или внеÑнего клÑÑа, либо огÑаниÑение-иÑклÑÑение; в пÑоÑивном ÑлÑÑае â Ð½Ð¾Ð»Ñ |
СооÑвеÑÑÑвÑÑÑее огÑаниÑение в ÑодиÑелÑÑкой ÑекÑиониÑованной ÑаблиÑе, еÑли ÑÑо огÑаниÑение в ÑекÑии; инаÑе Ð½Ð¾Ð»Ñ |
ÐÑли ÑÑо внеÑний клÑÑ, ÑаблиÑа, на коÑоÑÑÑ Ð¾Ð½ ÑÑÑлаеÑÑÑ; инаÑе Ð½Ð¾Ð»Ñ |
Ðод дейÑÑÐ²Ð¸Ñ Ð¿Ñи изменении внеÑнего клÑÑа: |
Ðод дейÑÑÐ²Ð¸Ñ Ð¿Ñи Ñдалении внеÑнего клÑÑа: |
Тип ÑопоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð½ÐµÑнего клÑÑа: |
ÐгÑаниÑение опÑеделено локалÑно в данном оÑноÑении. ÐамеÑÑÑе, ÑÑо огÑаниÑение Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð¿Ñеделено локалÑно и пÑи ÑÑом наÑледоваÑÑÑÑ. |
ЧиÑло пÑÑмÑÑ Ð¿Ñедков ÑÑого огÑаниÑениÑ. ÐгÑаниÑение Ñ Ð½ÐµÐ½ÑлевÑм ÑиÑлом пÑедков нелÑÐ·Ñ ÑдалиÑÑ Ð¸Ð»Ð¸ пеÑеименоваÑÑ. |
ÐгÑаниÑение опÑеделено локалÑно Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ оÑноÑÐµÐ½Ð¸Ñ Ð¸ ÑвлÑеÑÑÑ Ð½ÐµÐ½Ð°ÑледÑемÑм. |
ÐÑо огÑаниÑение опÑеделено Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ |
ÐÐ»Ñ Ð¾Ð³ÑаниÑений ÑаблиÑÑ (вклÑÑÐ°Ñ Ð²Ð½ÐµÑние клÑÑи, но не ÑÑиггеÑÑ Ð¾Ð³ÑаниÑений), опÑеделÑÐµÑ ÑпиÑок ÑÑолбÑов, обÑазÑÑÑÐ¸Ñ Ð¾Ð³ÑаниÑение |
ÐÐ»Ñ Ð²Ð½ÐµÑнего клÑÑа опÑеделÑÐµÑ ÑпиÑок ÑÑолбÑов, на коÑоÑÑе он ÑÑÑлаеÑÑÑ |
ÐÐ»Ñ Ð²Ð½ÐµÑнего клÑÑа â ÑпиÑок опеÑаÑоÑов ÑавенÑÑва Ð´Ð»Ñ ÑÑавнений PK = FK |
ÐÐ»Ñ Ð²Ð½ÐµÑнего клÑÑа â ÑпиÑок опеÑаÑоÑов ÑавенÑÑва Ð´Ð»Ñ ÑÑавнений PK = PK |
ÐÐ»Ñ Ð²Ð½ÐµÑнего клÑÑа â ÑпиÑок опеÑаÑоÑов ÑавенÑÑва Ð´Ð»Ñ ÑÑавнений FK = FK |
ÐÐ»Ñ Ð²Ð½ÐµÑнего клÑÑа Ñ Ñказанием |
ÐÐ»Ñ Ð¾Ð³ÑаниÑениÑ-иÑклÑÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ огÑаниÑÐµÐ½Ð¸Ñ Ð¿ÐµÑвиÑного клÑÑа/ÑникалÑноÑÑи |
ÐÐ»Ñ Ð¾Ð³ÑаниÑениÑ-пÑовеÑки â внÑÑÑеннее пÑедÑÑавление вÑÑажениÑ. (ЧÑÐ¾Ð±Ñ Ð¸Ð·Ð²Ð»ÐµÑÑ Ð¾Ð¿Ñеделение огÑаниÑениÑ-пÑовеÑки, ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ |
Ð ÑлÑÑае Ñ Ð¾Ð³ÑаниÑением-иÑклÑÑением знаÑение conkey полезно ÑолÑко Ð´Ð»Ñ ÑлеменÑов огÑаниÑений, пÑедÑÑавлÑÑÑиÑ
пÑоÑÑÑе ÑÑÑлки на ÑÑолбÑÑ. ÐÐ»Ñ Ð´ÑÑгиÑ
ÑлÑÑаев в conkey задаÑÑÑÑ Ð½Ð¾Ð»Ñ, и ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ Ð²ÑÑажение, опÑеделÑÑÑее огÑаниÑение, надо обÑаÑиÑÑÑÑ Ðº ÑооÑвеÑÑÑвÑÑÑÐµÐ¼Ñ Ð¸Ð½Ð´ÐµÐºÑÑ. (Таким обÑазом, поле conkey Ð¸Ð¼ÐµÐµÑ Ñо же ÑодеÑжимое, ÑÑо и pg_index.indkey Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑа.)
ÐÑимеÑание
Ðоле pg_class.relchecks должно ÑоглаÑовÑваÑÑÑÑ Ñ ÑиÑлом огÑаниÑений-пÑовеÑок, опиÑаннÑÑ
в данной ÑаблиÑе Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ оÑноÑениÑ.