错误:无法更改视图或规则使用的列的类型详细信息:视图上的规则 _RETURN 取决于列“状态”

Shu*_*jee 4 postgresql dependencies view

我正在尝试在 postgres 中将整数类型的列更新为 numeric(2)

ALTER TABLE employee_status
    ALTER COLUMN status TYPE numeric(2);
Run Code Online (Sandbox Code Playgroud)

但收到错误错误:无法更改视图或规则使用的列的类型详细信息:视图 v_employee_details 上的规则 _RETURN 取决于列“状态”

在不删除或删除数据的情况下,我怎样才能做到这一点?有什么方法可以禁用规则或视图

Lau*_*lbe 8

唯一可能的方法是删除并重新创建视图。

但这没问题,您可以通过pg_get_viewdef函数轻松获取视图定义。

如果您有很多依赖视图,请查看此答案以按正确顺序获取所有依赖视图。

不要担心_RETURN规则:这只是如何在 PostgreSQL 中实现视图的实现细节:作为ON SELECT DO INSTEAD名为_RETURN.