寻找视图,我可以列出PostgreSQL中所有“无效”的对象。在Oracle中,我们可以使用dab_objects.status列,但是我不确定在PostgreSQL中是否有一种简单的方法可以做到这一点。
也许,我可以用下面的代码检查无效的索引。我该如何处理其他物体?
SELECT pg_class.relname
FROM pg_class, pg_index
WHERE pg_index.indisvalid = false
AND pg_index.indexrelid = pg_class.oid;
我认为您不必检查其他任何内容,因为其他对象在PostgreSQL中不会成为无效对象。
在这方面,Oracle和PostgreSQL的工作方式大不相同:
在Oracle中,ALTER
即使存在从属对象(例如视图),也可以始终使用对象(例如表)。然后,从属对象变得无效,必须重新编译。
在PostgreSQL中,不能ALTER
以依赖关系使这些依赖对象无效的方式包含依赖对象。您必须删除并重新创建依赖对象。
失败的CREATE INDEX
命令可能会留下无效的索引。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句