Text Size: Normal / Large

44.13. pg_constraint

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

Check constraints on domains are stored here, too.

Table 44-13. pg_constraint Columns

NameTypeReferencesDescription
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
condeferrablebool Is the constraint deferrable?
condeferredbool Is the constraint deferred by default?
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
confrelidoidpg_class.oidIf a foreign key, the referenced table; else 0
confupdtypechar Foreign key update action code
confdeltypechar Foreign key deletion action code
confmatchtypechar Foreign key match type
conkeyint2[]pg_attribute.attnumIf a table constraint, list of columns which the constraint constrains
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
conbintext If a check constraint, an internal representation of the expression
consrctext If a check constraint, a human-readable representation of the expression

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 use pg_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.


User Comments

No comments could be found for this page.

Add Comment

Please use this form to add your own comments regarding your experience with particular features of PostgreSQL, clarifications of the documentation, or hints for other users. Please note, this is not a support forum, and your IP address will be logged. If you have a question or need help, please see the faq, try a mailing list, or join us on IRC. Note that submissions containing URLs or other keywords commonly found in 'spam' comments may be silently discarded. Please contact the webmaster if you think this is happening to you in error.

In order to submit a comment, you must have a community account.

* Comment
 

* denotes required field

Privacy Policy | Project hosted by our server sponsors. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group