PG_CONSTRAINT
PG_CONSTRAINT records check, primary key, unique, and foreign key 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. |
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. You are advised to use pg_get_constraintdef() to extract the definition of a check constraint.
- relchecks of 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.

