PG_CONSTRAINT
PG_CONSTRAINT records check, primary key, unique, and foreign key constraints on the tables.
| Name | Type | Description |
|---|---|---|
| conname | name | Constraint name (not necessarily unique) |
| connamespace | oid | OID of the namespace that contains the constraint |
| contype | "char" |
|
| condeferrable | Boolean | Whether the constraint can be deferrable |
| condeferred | Boolean | Whether the constraint can be deferrable by default |
| convalidated | Boolean | Whether the constraint is valid Currently, only foreign key and check constraints can be set to false. |
| conrelid | oid | Table containing this constraint. The value is 0 if it is not a table constraint. |
| contypid | oid | Domain containing this constraint. The value is 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 | Whether the local constraint is defined for the relationship |
| coninhcount | integer | Number of direct inheritance parent tables this constraint has. When the number is not 0, the constraint cannot be deleted or renamed. |
| connoinherit | Boolean | Whether the constraint can be inherited |
| consoft | Boolean | Whether the column indicates an informational constraint. |
| conopt | Boolean | Whether you can use 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 | Human-readable representation of the expression if this column is a check constraint |
- consrc is not updated when referenced objects change; for example, it will not 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.
- pg_class.relchecks must be consistent with the number of check-constraint entries in this table for each relationship.
Last Article: PG_COLLATION
Next Article: PG_CONVERSION
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.