最佳答案
ALTER TABLE
命令在一个非常大的表(几乎3000万行)上的问题。
其中一列是varchar(255)
,我想将其大小调整为varchar(40)
。
基本上,我想通过运行以下命令来更改我的列:
ALTER TABLE mytable ALTER COLUMN mycolumn TYPE varchar(40);
我没有问题,如果进程很长,但似乎我的表在ALTER TABLE
命令期间不再可读。
有没有更聪明的办法?也许添加一个新列,从旧列复制值,删除旧列,最后重命名新列?< / p >
我使用PostgreSQL 9.0。