PostgreSQL中是否可以找到使用外部数据包装器的所有视图?

时间:2019-04-23 15:03:18

标签: postgresql postgresql-9.1 postgresql-9.3 postgresql-9.4 postgresql-9.5

我正在从事一个Postgres数据库项目,该项目根本没有记录,主要问题之一是考虑了对外部数据包装器的依赖性。我可以在postgres SQL中查询所有外部数据包装器,但是我不知道如何使用它们将它们与视图关联。 我使用pg_dump进行了模式转储,并试图控制找到包装器的使用位置,但是它们太多了。有没有可以使用架构转储并加以利用的工具,或者还有另一种获取此依赖项信息的方法?

1 个答案:

答案 0 :(得分:2)

我认为应该这样做:

SELECT DISTINCT
  pg_rewrite.ev_class::regclass AS view,
  pg_class.oid::regclass AS fdw
FROM pg_depend
JOIN pg_rewrite ON pg_rewrite.oid = objid
JOIN pg_class ON pg_class.oid = refobjid
WHERE pg_class.relkind = 'f'