ずっと昔に開発したコンテンツ配信のシステム。お客様から、大きなテキストが入力できないと連絡があった。
調べてみると、DB上のテーブル項目の文字サイズが小さい。そこでカラムサイズを増やすことに。
alter table ir_calendar alter text_col type character(256);
としたところ、エラーになる。
なんと、動いているPostgreSQLのバージョンが、7.4であった。このSQLは8.0でないと動かない。
そこで、次のように新しいカラムを追加して、そのカラムをアップデートしてから、今までのカラムを削除して、元に戻すといった面倒なことを行いました。(こちらを参考にしたサイトがわからなくなった)
ALTER TABLE ir_calendar ADD COLUMN new_text_col character(256);
UPDATE ir_calendar SET new_text_col = CAST(text_col AS character(256));
ALTER TABLE ir_calendar DROP COLUMN text_col ;
ALTER TABLE ir_calendar RENAME COLUMN new_text_col TO text_col ;
以上で無事に大きなテキストが入力できるようになりした。
結局の所、最初の仕様の見積りミスですね。反省。

著:Piro, 編集:日経Linux
¥2,178 (2025/03/28 21:08時点 | Amazon調べ)
