如何检测视图是否由扩展创建?

时间:2018-01-26 16:00:04

标签: sql postgresql schema postgresql-extensions

在PostgreSQL中,如何知道特定视图是否是由扩展创建的?

必须执行哪些SQL查询才能找到?没有手动解决方案。

2 个答案:

答案 0 :(得分:0)

检查视图是否显示在\dx+的{​​{1}}输出中。

这也将显示psql用于获取结果的查询,这将帮助您构建查询。

答案 1 :(得分:0)

Axel Fontaine关注Laurenz Albe所说的话

在psql -E中使用\ dx +输出。我得到了以下查询(用扩展名替换pg_stat_statements):

SELECT c.relname FROM pg_catalog.pg_depend join pg_class c  on (c.oid=pg_depend.objid) WHERE refclassid = 'pg_catalog.pg_extension'::pg_catalog.regclass AND deptype = 'e'  AND refobjid = ( SELECT  e.oid FROM pg_catalog.pg_extension e WHERE e.extname='pg_stat_statements') and c.relkind='v' ORDER BY 1;

- )