DB

PostgreSQLでカラムを追加する際にdefault値を設定する方法

MySQLとの違いがあったのでメモ。

MySQLのように

ALTER TABLE table_name ADD COLUMN add_colunb_flag character(1) default '0';

ってやったら「ERROR: adding columns with defaults is not implemented」というエラーがでた。

defaultを指定する場合は別のクエリで対応しなければいけないらしい。

こんな感じでやったら通った。

ALTER TABLE table_name ADD COLUMN add_colunb_flag character(1);
ALTER TABLE table_name ALTER COLUMN add_colunb_flag SET DEFAULT '0';

なんだかなぁ。