oracle提供了一个表ALL_CONSTRAINTS,显示了定义的所有约束的详细信息。比如我可以问
select CONSTRAINT_NAME, DELETE_RULE from ALL_CONSTRAINTS where TABLE_NAME='MY_TABLE'
postgres中有类似内容吗?
答案 0 :(得分:3)
该信息可在information_schema。table_constraints:
中找到select *
from information_schema.table_constraints
where table_name='my_table';
从user829755编辑: 为了显示DELETE_RULE,可以将其与另一个表连接:
select tc.constraint_name, rc.delete_rule
from information_schema.table_constraints tc
join information_schema.referential_constraints rc using (constraint_name)
where tc.table_name = 'my_table';
我在以下页面的帮助下发现了这一点,该页面展示了如何获取大量其他元数据:http://www.alberton.info/postgresql_meta_info.html