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.