【发布时间】:2020-05-18 06:05:17
【问题描述】:
我有一个 PostgreSQL 数据库,我需要更改列的数据类型。有一个使用该表的视图。有什么方法可以在不删除视图的情况下使用ALTER TABLE table_name ALTER COLUMN column_name TYPE new_type更改列的数据类型。
【问题讨论】:
标签: database postgresql alter-table
我有一个 PostgreSQL 数据库,我需要更改列的数据类型。有一个使用该表的视图。有什么方法可以在不删除视图的情况下使用ALTER TABLE table_name ALTER COLUMN column_name TYPE new_type更改列的数据类型。
【问题讨论】:
标签: database postgresql alter-table
不,您必须删除并重新创建视图。
计算视图定义的pg_get_viewdef 函数会很有帮助。
如果您不想将“无视图”状态暴露给并发事务,则可以在事务中完成整个操作。
【讨论】: