我有一个PostgreSQL(9.0)数据库,其中有一列card_id,目前是整数类型。
我需要将其更改为文本类型。
最好的方法是什么?
我找到的唯一解决方案涉及创建临时列,删除原始列,然后重命名,我想可能还有更好的方法吗?
我有一个PostgreSQL(9.0)数据库,其中有一列card_id,目前是整数类型。
我需要将其更改为文本类型。
最好的方法是什么?
我找到的唯一解决方案涉及创建临时列,删除原始列,然后重命名,我想可能还有更好的方法吗?
您是否尝试了详细手册中的建议:
ALTER TABLE table ALTER COLUMN anycol TYPE anytype;
根据当前类型和新类型,您可能需要在此语句中添加USING ...
。但是在您的特定情况下,我认为这不是必需的。
ALTER TABLE table ALTER COLUMN card_id SET DATA TYPE text;
ALTER TABLE table_name
ALTER COLUMN column_name DROP DEFAULT,
ALTER COLUMN column_name TYPE BOOLEAN
USING (case when column_name =1 then true else false end)::BOOLEAN,
ALTER COLUMN column_name SET DEFAULT false;