Как определить, было ли представление создано расширением?
В PostgreSQL как узнать, было ли определенное представление создано расширением?
Какой запрос SQL нужно выполнить, чтобы узнать? Нет ручных решений.
2 ответа
Проверьте, отображается ли вид в \dx+
вывод в psql -E
,
Это также покажет запросы, которые использует psql для получения результата, что поможет вам построить запрос.
Аксель Фонтейн обращает внимание на то, что говорит Лоренц Альбе
с \ dx + выводом в psql -E. Я получил следующий запрос (замените 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;
;-)