我有一个Postgres 8.4表,其中的列类型为“字符可变”,但我希望将它们转换为枚举类型。
当试图更改表时
ALTER TABLE logs ALTER COLUMN interface_type TYPE interface_types
USING interface_type::text::interface_types;我犯了个错误
default for column "interface_type" cannot be cast to type interface_types列的默认值是枚举类型中值的文本版本。因此,这应该是可能的,虽然我没有运气谷歌寻找解决方案。
我想我需要为它定义一个角色。多么?
发布于 2012-12-11 16:19:29
我想我已经找到了答案:我需要先删除缺省值,然后再添加它。
ALTER TABLE logs ALTER COLUMN interface_type DROP DEFAULT;
ALTER TABLE logs ALTER COLUMN interface_type TYPE interface_types
USING interface_type::text::interface_types;
ALTER TABLE logs ALTER COLUMN interface_type SET DEFAULT 'button';https://dba.stackexchange.com/questions/30184
复制相似问题