現在開発中のシステムで、数値型でよかったカラムが、文字型にしないと不都合だということが発覚しました。
カラムを消して、新しいカラムとして定義しなおすことも考えましたが、
- 主キーになっているので、手間がかかりそう。
- テストデータがそこそこ登録済みで、できればデータを残したい。
という状況だったので、カラムのデータ型の定義を変更できるか試してみました。
変更する前はinteger型で、変更後はcharacter varying型です。
PgAdminIIIのGUIから変更
PgAdminIIIで、テーブル定義のプロパティを開いてカラムのデータ型を変更しようとしましたが、character varying型は表示されませんでした。SQLで変更
GUIで変更できなかったので、SQLで変更できないかもと、なかば諦めつつ、ALTER TABLE test_table ALTER COLUMN test_column TYPE character varying;
を実行したら、変更できました。
今回わかったこと
の2点です。