解决方法
显示所有:
SELECT oid::regclass::text FROM pg_class WHERE relkind = 'm';
根据您当前的search_path
,必要时,从命令转换为文本,名称将自动转义和模式限定.@H_403_9@
系统目录pg_class中的物化视图由relkind =’m’标识.
Per documentation:@H_403_9@
m = materialized view
要全部删除,您可以使用此查询生成所需的sql脚本:@H_403_9@
SELECT 'DROP MATERIALIZED VIEW ' || string_agg(oid::regclass::text,',') FROM pg_class WHERE relkind = 'm';
返回:@H_403_9@
DROP MATERIALIZED VIEW mv1,some_schema_not_in_search_path.mv2,...
一个DROP MATERIALIZED VIEW
语句可以处理多个物化视图.如果您有嵌套视图,则可能需要在最后添加CASCADE.@H_403_9@
在执行之前检查生成的DDL脚本.你确定要从数据库中的所有模式中删除所有MV吗? (目前在新的标准安装中没有物化视图.)@H_403_9@