Alter TYPE RENAME VALUE在Postgres 10中有效,但在Postgres 9.6中无效吗?

ank*_*kit 3 postgresql postgresql-9.5 postgresql-10

我正在使用Postgres 10.3。

基于这个问题,我使用:

ALTER TYPE name RENAME VALUE attribute_name TO new_attribute_name
Run Code Online (Sandbox Code Playgroud)

重命名枚举值。

但是我需要一个与Postgres 9.6一起使用的解决方案,该解决方案不需要pg_enum手动更新,因为它需要我没有的权限。

Lau*_*lbe 5

在PostgreSQL 9.6中没有支持重命名枚举值的方法。

直接修改pg_enum是您不仅应该排除的原因,因为权限问题,而且还因为直接弄乱系统目录是危险的,并且可能会破坏您的数据。

您应谨慎使用枚举。它们只有在不需要修改的情况下才是好的。如果枚举值有可能是不可变的,请改用查找表。