Как определить, было ли представление создано расширением?

В 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;

;-)

Другие вопросы по тегам