我遇到问题并在Google上搜索解决方案但找不到任何解决方案。我有一个名为products_199
的postgres表,在该表中有一个名为parameter2
的列varchar (255)
。我想将数据类型更改为text
但不知何故我收到以下错误
错误:解析器:在字符50处的“TYPE”处或附近解析错误
我的命令如下所示,我想执行
ALTER TABLE products_199 ALTER COLUMN parameter2 TYPE text;
我正在使用PostgreSQL 7.3.4
答案 0 :(得分:3)
我认为该语法仅适用于较新的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;