PG_CONSTRAINT
PG_CONSTRAINT records check, primary key, and unique constraints on tables.
Name |
Type |
Description |
---|---|---|
oid |
oid |
Row identifier (hidden attribute, which must be specified). |
conname |
name |
Constraint name (not necessarily unique). |
connamespace |
oid |
OID of the namespace that contains the constraint |
contype |
"char" |
|
condeferrable |
Boolean |
Specifies whether the constraint is deferrable.
|
condeferred |
Boolean |
Specifies whether the constraint can be deferrable by default.
|
convalidated |
Boolean |
Specifies whether the constraint is valid. Currently, it can be set to false only for foreign key and check constraints.
|
conrelid |
oid |
Table containing this constraint (0 if it is not a table constraint). |
contypid |
oid |
Domain containing this constraint (0 if it is not a domain constraint). |
conindid |
oid |
ID of the index associated with the constraint. |
confrelid |
oid |
Referenced table if this constraint is a foreign key. Otherwise, the value is 0. |
confupdtype |
"char" |
Foreign key update action code.
|
confdeltype |
"char" |
Foreign key deletion action code
|
confmatchtype |
"char" |
Foreign key match type.
|
conislocal |
Boolean |
Specifies whether the constraint is defined locally for the relation.
|
coninhcount |
integer |
Number of direct inheritance parent tables that this constraint has. When the value is not 0, the constraint cannot be deleted or renamed. |
connoinherit |
Boolean |
Specifies whether the constraint can be inherited.
|
consoft |
Boolean |
Specifies whether the column indicates an informational constraint.
|
conopt |
Boolean |
Specifies whether you can use the informational constraint to optimize the execution plan.
|
conkey |
smallint[] |
Column list of the constrained control if this column is a table constraint. |
confkey |
smallint[] |
List of referenced columns if this column is a foreign key. |
conpfeqop |
oid[] |
ID list of the equality operators for PK = FK comparisons if this column is a foreign key. |
conppeqop |
oid[] |
ID list of the equality operators for PK = PK comparisons if this column is a foreign key. |
conffeqop |
oid[] |
ID list of the equality operators for FK = FK comparisons if this column is a foreign key. The value is empty because foreign keys are not supported currently. |
conexclop |
oid[] |
ID list of the per-column exclusion operators if this column is an exclusion constraint. |
conbin |
pg_node_tree |
Internal representation of the expression if this column is a check constraint. |
consrc |
text |
Readable representation of the expression if this column is a check constraint. |
conincluding |
smallint[] |
Not for constraint, but will be included in the attribute column of INDEX. |

- consrc is not updated when referenced objects change and does not track new column names. Instead of relying on this column to update, you are advised to use pg_get_constraintdef() to extract the definition of a check constraint.
- relchecks of 13.2.53 PG_CLASS must agree with the number of check-constraint entries found in the table for each relationship.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.