Movatterモバイル変換


[0]ホーム

URL:



Facebook
Postgres Pro
Facebook
Downloads
51.13. pg_constraint
Prev UpChapter 51. System CatalogsHome Next

51.13. pg_constraint

The catalogpg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in thepg_attribute catalog, not here.

User-defined constraint triggers (created withCREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.

Check constraints on domains are stored here, too.

Table 51.13. pg_constraint Columns

NameTypeReferencesDescription
oidoid Row identifier (hidden attribute; must be explicitly selected)
connamename Constraint name (not necessarily unique!)
connamespaceoidpg_namespace.oid The OID of the namespace that contains this constraint
contypechar c = check constraint,f = foreign key constraint,p = primary key constraint,u = unique constraint,t = constraint trigger,x = exclusion constraint
condeferrablebool Is the constraint deferrable?
condeferredbool Is the constraint deferred by default?
convalidatedbool Has the constraint been validated? Currently, can only be false for foreign keys and CHECK constraints
conrelidoidpg_class.oidThe table this constraint is on; 0 if not a table constraint
contypidoidpg_type.oidThe domain this constraint is on; 0 if not a domain constraint
conindidoidpg_class.oidThe index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else 0
confrelidoidpg_class.oidIf a foreign key, the referenced table; else 0
confupdtypechar Foreign key update action code:a = no action,r = restrict,c = cascade,n = set null,d = set default
confdeltypechar Foreign key deletion action code:a = no action,r = restrict,c = cascade,n = set null,d = set default
confmatchtypechar Foreign key match type:f = full,p = partial,s = simple
conislocalbool  This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.
coninhcountint4  The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.
connoinheritbool  This constraint is defined locally for the relation. It is a non-inheritable constraint.
conkeyint2[]pg_attribute.attnumIf a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns
confkeyint2[]pg_attribute.attnumIf a foreign key, list of the referenced columns
conpfeqopoid[]pg_operator.oidIf a foreign key, list of the equality operators for PK = FK comparisons
conppeqopoid[]pg_operator.oidIf a foreign key, list of the equality operators for PK = PK comparisons
conffeqopoid[]pg_operator.oidIf a foreign key, list of the equality operators for FK = FK comparisons
conexclopoid[]pg_operator.oidIf an exclusion constraint, list of the per-column exclusion operators
conbinpg_node_tree If a check constraint, an internal representation of the expression
consrctext If a check constraint, a human-readable representation of the expression

In the case of an exclusion constraint,conkey is only useful for constraint elements that are simple column references. For other cases, a zero appears inconkey and the associated index must be consulted to discover the expression that is constrained. (conkey thus has the same contents aspg_index.indkey for the index.)

Note

consrc is not updated when referenced objects change; for example, it won't track renaming of columns. Rather than relying on this field, it's best to usepg_get_constraintdef() to extract the definition of a check constraint.

Note

pg_class.relchecks needs to agree with the number of check-constraint entries found in this table for each relation.


Prev Up Next
51.12. pg_collation Home 51.14. pg_conversion
epubpdf
Go to PostgreSQL 10
By continuing to browse this website, you agree to the use of cookies. Go toPrivacy Policy.

[8]ページ先頭

©2009-2025 Movatter.jp