我正在使用Postgres 10.3。
ALTER TYPE name RENAME VALUE attribute_name TO new_attribute_name
重命名枚举值。
但是我需要一个适用于Postgres 9.6的解决方案,它不需要手动更新pg_enum
,因为它需要我没有的权限。
在PostgreSQL 9.6中没有受支持的方法来重命名枚举值。
直接修改pg_enum
是你不仅应该因为权限问题而排除的,而且因为直接搞乱系统目录是危险的并且可能会破坏你的数据。
你应该小心使用枚举。如果他们永远不需要修改,他们只会很好。如果枚举值有可能不是不可变的,请改用查找表。