PostgreSQL カラムのデータ型を変更する
カラムのデータ型を変更する
PostgreSQLで、カラムのデータ型を変更する必要があったのでメモ。
バージョン8.0以降
ALTER TABLE テーブル名 ALTER カラム名 TYPE 新しい型;
バージョン7以前
カラムの追加、データのコピー、カラムの削除、カラムのリネームという手順でやる必要があるようです。
BEGIN; ALTER TABLE テーブル名 ADD COLUMN カラム名_tmp 新しい型; UPDATE テーブル名 SET カラム名_tmp = CAST(カラム名 AS 新しい型); ALTER TABLE テーブル名 DROP COLUMN カラム名; ALTER TABLE テーブル名 RENAME カラム名_tmp TO カラム名; COMMIT;
こちらは試していませんが、念のためメモ。