[PostgreSQL]ALTER TABLEでカラムのデータ型を変更しようとして"cannot be cast to type integer"が出た場合の対処法
ALTER TABLE tbl ALTER COLUMN foo TYPE integer ;
ERROR: column "foo" cannot be cast to type integer
こういう場合は、USING句を使って明示的に型変換してやる必要があるみたいです。
ALTER TABLE tbl ALTER COLUMN foo TYPE integer USING foo::int ;
これでうまく行きました。
参考
http://archives.postgresql.org/pgsql-admin/2009-08/msg00156.php
カテゴリ:
PostgreSQL