我遇到问题并在 Google 上搜索解决方案,但找不到任何解决方案。我有一个名为 products_199
的 postgres 表,在该表中有一个名为 parameter2
的列,类型为 varchar (255)
。我想将数据类型更改为 text
但不知何故我收到以下错误
ERROR: parser: parse error at or near "TYPE" at character 50
我要执行的命令如下所示
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;
关于postgresql - 将表数据类型从 varchar 更改为文本 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1108289/