今更Postgre7です。ALTER TABLEのTYPE指定が存在せずダメでした。オーノー。
しかしpgAdminでは長さの変更を受け付ける。望みはある。できるできる絶対できる。やれる、気持ちの問題だ。
pgAdminはpg_attributeのatttypmodを変更クエリを吐いていた。
自前でここを書き換えるとpostgresさんも枠の大きさが変わったのを認識しました。
atttypmodの指定について
33を指定するとcharacter varying(29)になる。
4を引いた数で良いのかは不明だ。4以下の数は試していない。
テーブルとフィールドを指定しての参考更新クエリ
character varying(atttypid=1043)の場合。
update pg_attribute
set atttypmod=33
from pg_stat_all_tables tbls
where tbls.relid = pg_attribute.attrelid
and tbls.relname='target_table'
and pg_attribute.attname='target_field'
and pg_attribute.atttypid=1043
and pg_attribute.atttypmod=32;