MW211 EXIT

devlog
PostgreSQL/列幅縮小
2012年09月17日
例えば16バイトの文字列を8バイトとする場合は、以下のような感じ。
┌──────────────────────────────────────┐
│UPDATE 表                                                                   │
│    SET 列 = SUBSTR(列, 1, 8);                                              │
├──────────────────────────────────────┤
│ALTER TABLE 表                                                              │
│    ALTER COLUMN 列                                                         │
│    TYPE character varying(8);                                              │
└──────────────────────────────────────┘
UPDATE文で事前にデータを切り捨てておけばスムーズに移行できる。

もちろん、サイズを大きく変更すれば列幅拡大ができる。
この場合は、当然ながら切り捨ては不要だ。
分類:PostgreSQL