我有问题并在Google上搜索解决方案但找不到任何解决方案。我有一个名为products_199
的postgres表,在该表中有一个名为parameter2
的列varchar (255)
。我想将数据类型更改为text
但不知何故我得到以下错误
错误:解析器:在字符50处的“TYPE”处或附近解析错误
我的命令如下所示,我想执行
ALTER TABLE products_199 ALTER COLUMN parameter2 TYPE text;
我正在使用PostgreSQL 7.3.4
我认为该语法仅适用于较新的PostgreSQL版本。
如果你不能改变版本(7.3.4很旧),我建议你只需添加一个新列,复制数据,然后删除旧列。这将是最安全的方式。
像这样的东西(没有测试,先备份!)
begin;
alter table products_199 add column parameter2_n text;
update products_199 set parameter2_n=parameter2;
alter table products_199 drop column parameter2;
commit;
vacuum;