如何在PostgreSQL中更改视图

Postgresql不允许更改视图(即添加列,更改列顺序,添加条件等),如果它有依赖对象.这真的很烦人,因为你必须写一个脚本:

>删除所有依赖对象,
改变观点,
>重新创建所有依赖对象.

我明白postgresql开发人员有非常合理的考虑,以防止修改视图.但是,你们有没有任何脚本/镜头切割在一个单一的运行中做所有这些手动的东西?

添加新列不是问题,更改数据类型或更改列的顺序,那就是您遇到的问题.

>不要改变订单,不是
这很重要,只是更改您的查询

SELECT a,b FROM view_name;

SELECT b,一个FROM view_name;>当您必须更改数据类型时的一列,你必须检查依赖对象也是如此.这些可能有这个新的问题数据类型.只是得到的定义这个对象并重新创建之后变化. information_schema和pg_catalog可以帮助你.>在一个单一的内部进行所有更改交易.

相关文章

来源:http://www.postgres.cn/docs/11/ 4.1.1. 标识符和关键词 SQL标识符和关键词必须以一个...
来源:http://www.postgres.cn/docs/11/ 8.1. 数字类型 数字类型由2、4或8字节的整数以及4或8...
来源:http://www.postgres.cn/docs/11/ 5.1. 表基础 SQL并不保证表中行的顺序。当一个表被读...
来源:http://www.postgres.cn/docs/11/ 6.4. 从修改的行中返回数据 有时在修改行的操作过程中...
来源:http://www.postgres.cn/docs/11/ 13.2.1. 读已提交隔离级别 读已提交是PostgreSQL中的...
来源:http://www.postgres.cn/docs/11/ 9.7. 模式匹配 PostgreSQL提供了三种独立的实现模式匹...