有没有办法列出现有 postgres 架构中与表相关的所有视图

Sri*_*s D 4 postgresql function view alter-table database-optimization

我有一个具有多个模式的 Postgres 数据库。我正在尝试使用最佳数据类型来优化我的数据库表。更多时候我以错误结束

无法更改视图使用的列的类型

使用查询时 alter table schema.tbl_name alter column column_name type varchar(5) using column_name::varchar(5);

有什么方法(函数)可以列出与表相关的所有视图吗?

Boh*_*ian 6

使用此查询:

select
  u.view_schema schema_name,
  u.view_name,
  u.table_schema referenced_table_schema,
  u.table_name referenced_table_name,
  v.view_definition
from information_schema.view_table_usage u
join information_schema.views v on u.view_schema = v.table_schema
  and u.view_name = v.table_name
where u.table_schema not in ('information_schema', 'pg_catalog')
order by u.view_schema, u.view_name
Run Code Online (Sandbox Code Playgroud)

图片来源:Dataedo.com的文章列出 PostgreSQL 数据库中视图使用的表