3.13. pg_depend

pg_depend 表记录数据库对象之间的依赖 关系。这个信息允许 DROP 命令找出哪些其他的对象必须 由 DROP CASCADE 删除,或者是在 DROP RESTRICT 的情况下避免删除。

Table 3-13. pg_depend 字段

名字类型引用描述
classidoidpg_class.oid有倚赖对象所在系统表的 oid
objidoid任何 oid 属性指定的有依赖对象的 oid
objsubidint4 对于表属性,这个是该属性的字段数(objid和classid引用表本身)。 对于所有其他对象类型,目前这个字段是零。
refclassidoidpg_class.oid被引用对象所在的系统表的 oid
refobjidoidany oid attribute指定的被引用对象的 oid
refobjsubidint4  对于表属性,这个是该属性的字段数(objid和classid引用表本身)。 对于所有其他对象类型,目前这个字段是零。
deptypechar  一个定义这个依赖关系特定语义的代码。

在所有情况下,一个 pg_depend 记录表示 被引用的对象不能在有依赖的对象被删除前删除。不过,这里还有几种 由 deptype 定义的情况:

将来可能还会有其他依赖的风格。