postgresql - PostgreSQL 中有没有办法找到所有使用外部数据包装器的 View ?

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

我正在从事一个根本没有记录在案的 Postgres 数据库项目,其中一个主要问题是考虑对外国数据包装器的依赖。我能够在 postgres SQL 中查询所有外部数据包装器,但我不知道如何将它们与使用它们的 View 相关联。 我使用 pg_dump 进行了模式转储,并尝试控制查找包装器的使用位置,但包装器太多了。是否有可以使用架构转储并理解它的工具,或者是否有其他方法来获取此依赖项信息?

最佳答案

我认为应该这样做:

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'

关于postgresql - PostgreSQL 中有没有办法找到所有使用外部数据包装器的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55814149/

相关文章:

sql - FULL JOIN with =any 不使用索引

sql - PostgreSQL 无法加载库。未知错误 14001

python-3.x - 如何使用 psycopg2 读取和插入 bytea 列?

docker - 在 docker 容器中安装 PostgreSQL

Postgresql - pg_dump - 找不到匹配的模式

spring - 基于登录用户凭据的 Hibernate 数据源配置

postgresql - 使用 Supervisord 运行 PostgreSQL

postgresql - pgpool-II - 负载均衡 PostgreSQL 实例

sql - Postgresql 多行分组依据

django - PostgreSQL 数据库服务器无响应