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.
Example
Query whether a specified table has a primary key.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
CREATE TABLE t1 ( C_CUSTKEY BIGINT , C_NAME VARCHAR(25) , C_ADDRESS VARCHAR(40) , C_NATIONKEY INT , C_PHONE CHAR(15) , C_ACCTBAL DECIMAL(15,2), CONSTRAINT C_CUSTKEY_KEY PRIMARY KEY(C_CUSTKEY,C_NAME) ) DISTRIBUTE BY HASH(C_CUSTKEY,C_NAME); SELECT conname FROM pg_constraint WHERE conrelid = 't1'::regclass AND contype = 'p'; conname --------------- c_custkey_key (1 row) |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot