华为云云数据库GaussDBPG_CONSTRAINT_云淘科技

PG_CONSTRAINT系统表存储表上的检查约束、主键、唯一约束和外键约束。

表1 PG_CONSTRAINT字段

名称

类型

描述

oid

oid

行标识符(隐含字段,必须明确选择)。

conname

name

约束名称(不一定是唯一的)。

connamespace

oid

包含这个约束的名称空间的OID。

contype

“char”

c = 检查约束
p = 主键约束
u = 唯一约束
t = 触发器约束
x = 互斥约束
f = 外键约束
s = 聚簇约束
i = 无效约束

condeferrable

boolean

这个约束是否可以推迟。

true:表示可以。
false:表示不可以。

condeferred

boolean

缺省时这个约束是否可以推迟。

true:表示可以。
false:表示不可以。

convalidated

boolean

约束是否有效。目前,只有外键和CHECK约束可将其设置为FALSE。

true:表示有效。
false:表示无效。

conrelid

oid

这个约束所在的表;如果不是表约束则为0。

contypid

oid

这个约束所在的域;如果不是一个域约束则为0。

conindid

oid

与约束关联的索引ID。

confrelid

oid

如果是外键,则为参考的表;否则为0。

confupdtype

“char”

外键更新动作代码。

a = 没动作
r = 限制
c = 级联
n =设置为null
d =设置为缺省

confdeltype

“char”

外键删除动作代码。

a = 没动作
r = 限制
c = 级联
n =设置为null
d =设置为缺省

confmatchtype

“char”

外键匹配类型。

f = 全部
p = 部分
u = 未指定(在f的基础上允许匹配NULL值)

conislocal

boolean

是否是为关系创建的本地约束。

true:表示是。
false:表示不是。

coninhcount

integer

约束直接继承父表的数目。继承父表数非零时,不能删除或重命名该约束。

connoinherit

boolean

是否可以被继承。

true:表示可以。
false:表示不可以。

consoft

boolean

是否为信息约束(Informational Constraint)。

true:表示是。
false:表示不是。

conopt

boolean

是否使用信息约束优化执行计划。

true:表示使用。
false:表示不使用。

conkey

smallint[]

如果是表约束,则是约束控制的字段列表。

confkey

smallint[]

如果是一个外键,是参考的字段的列表。

conpfeqop

oid[]

如果是一个外键,是做PK=FK比较的相等操作符ID的列表。

conppeqop

oid[]

如果是一个外键,是做PK=PK比较的相等操作符ID的列表。

conffeqop

oid[]

如果是一个外键,是做FK=FK比较的相等操作符ID的列表。

conexclop

oid[]

如果是一个排他约束,是列的排他操作符ID列表。

conbin

pg_node_tree

如果是检查约束,那就是其表达式的内部形式。

consrc

text

如果是检查约束,则是表达式的人类可读形式。

conincluding

smallint[]

不用做约束,但是会包含在INDEX中的属性列。

consrc在被引用的对象改变之后不会被更新,它不会跟踪字段的名称修改。建议使用pg_get_constraintdef()来抽取一个检查约束的定义。
pg_class.relchecks需要和在该表上为给定关系找到的检查约束的数目一致。

父主题: 系统表

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家