pg_constraint #
目录 pg_constraint 存储表上的检查、非空、
主键、唯一、外键和排他约束。
(列约束不会被特殊对待。每个列约束都等价于某个表约束。)
用户定义的约束触发器(通过
CREATE CONSTRAINT TRIGGER 创建)
也会在此表中产生一个条目。
域上的检查约束也存储在这里。
Table 52.13. \1 字段列说明
Column Type Description |
|---|
Row identifier |
约束名称(不一定唯一!) |
包含此约束的命名空间的 OID |
|
约束是否可以被延迟? |
约束默认是否被延迟? |
约束是否被强制执行? |
约束是否已被验证? |
该约束所在的表;如果不是表约束则为零 |
该约束所在的域;如果不是域约束则为零 |
支持该约束的索引(如果它是唯一、主键、外键或排他约束); 否则为零 |
如果这是分区上的约束,则是其父分区表上的对应约束; 否则为零 |
如果是外键,则为被引用的表;否则为零 |
外键更新动作代码:
|
外键删除动作代码:
|
外键匹配类型: |
该约束是为此关系本地定义的。注意,一个约束可以同时是本地定义并被继承的。 |
该约束拥有的直接继承祖先的个数。 祖先数非零的约束不能被删除,也不能被重命名。 |
该约束是针对此关系在本地定义的。它是一个不可继承的约束。 |
该约束是用 |
如果是表约束(包括外键,但不包括约束触发器), 则为受约束列的列表 |
如果是外键,则为被引用列的列表 |
如果是外键,则为 PK = FK 比较的相等操作符列表 |
如果是外键,则为 PK = PK 比较的相等操作符列表 |
如果是外键,则为 FK = FK 比较的相等操作符列表 |
如果是带 |
如果是排他约束或 |
如果是检查约束,则为该表达式的内部表示。
(建议使用
|
对于排他约束,conkey
只对简单列引用的约束元素有用。对于其他情况,
conkey 中会出现零,
必须查询相关的索引才能找到受约束的表达式。
(因此 conkey 的内容与该索引的
pg_index.indkey
相同。)
pg_class.relchecks 必须与该表中为每个关系找到的
检查约束条目的数目一致。