【发布时间】:2012-11-18 18:22:25
【问题描述】:
我有一个数据库,其中安装了旧版本的 PostGIS。我想轻松删除数据库中的所有视图(它们都来自 PostGIS)。有没有一种简单的方法可以做到这一点?即使只是简单地提取视图名称列表也是可以接受的,因为我可以只做一个大的 DROP VIEWS 语句。? 提前致谢
【问题讨论】:
标签: postgresql
我有一个数据库,其中安装了旧版本的 PostGIS。我想轻松删除数据库中的所有视图(它们都来自 PostGIS)。有没有一种简单的方法可以做到这一点?即使只是简单地提取视图名称列表也是可以接受的,因为我可以只做一个大的 DROP VIEWS 语句。? 提前致谢
【问题讨论】:
标签: postgresql
这应该会在公共架构中为您提供一组视图名称。将“沙盒”替换为您的数据库名称。
select table_name
from information_schema.views
where table_catalog = 'sandbox'
and table_schema = 'public'
【讨论】:
EXECUTE、string_agg 和quote_ident 将其包装成一个PL/PgSQL 函数,以创建一个简单的函数来删除所有视图。 S:要知道怎么做,随便搜索一下,这里有很多解释EXECUTE、format等的答案。