HomeMogDBMogDB StackUqbar
v3.0

Documentation:v3.0

Supported Versions:

PG_CONSTRAINT

PG_CONSTRAINT records check, primary key, and unique constraints on tables.

Table 1 PG_CONSTRAINT columns

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" - c: check constraint
- p: primary key constraint
- u: unique constraint
- t: trigger constraint
- x: mutual exclusion constraint
- f: foreign key constraint
- s: clustering constraint
- i: invalid constraint
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, 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. Currently, foreign keys are not supported. Therefore, the value is fixed at 0.
confupdtype "char" Foreign key update action code
- a: no action
- r: restriction
- c: cascading
- n: The parameter is set to null.
- d: The default value is used. The value is empty because foreign keys are not supported currently.
confdeltype "char" Foreign key deletion action code
- a: no action
- r: restriction
- c: cascading
- n: The parameter is set to null.
- d: The default value is used. The value is empty because foreign keys are not supported currently.
confmatchtype "char" Foreign key match type
- f: full match
- p: partial match
- u: simple match (not specified). The value is empty because foreign keys are not supported currently.
conislocal boolean Whether the local constraint is defined for the relationship
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 Whether the constraint can be inherited
consoft boolean Whether the column indicates an informational constraint
conopt boolean 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. The value is empty because foreign keys are not supported currently.
conpfeqop oid[] ID list of the equality operators for PK = FK comparisons if this column is a foreign key. The value is empty because foreign keys are not supported currently.
conppeqop oid[] ID list of the equality operators for PK = PK comparisons if this column is a foreign key. The value is empty because foreign keys are not supported currently.
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 Human-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.

img NOTICE:

  • 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.
  • pg_class.relchecks must agree with the number of check-constraint entries found in the table for each relationship.
Copyright © 2011-2024 www.enmotech.com All rights reserved.