• ベストアンサー

varcharの長さ変更

既に作成したテーブルのvarcharを変更したいのですが、 mysqlにあるようなmodify機能のようなものはPostgresにはないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • iiikkk
  • ベストアンサー率37% (92/247)
回答No.2

バージョンによって方法が異なるそうです。 8.0以上であれば、#1さんの ALTER TABLE ALTER COLUMN TYPE それ以前であれば、 BEGIN; ALTER TABLE tab ADD COLUMN new_col new_data_type; UPDATE tab SET new_col = CAST(old_col AS new_data_type); ALTER TABLE tab DROP COLUMN old_col; COMMIT; こちらからの受け売りです。 詳細はこちらをどうぞ。 http://www.linux.or.jp/JF/JFdocs/PostgreSQL-FAQ.html

aiurai54
質問者

お礼

バージョンが古いとできないと思っていました。 こういった方法もあるんですね~。 ありがとうございます。

その他の回答 (1)

  • proust
  • ベストアンサー率57% (62/108)
回答No.1

PostgreSQLのバージョンは何ですか? 今手元に環境がないですが create table table1 ( aaa varchar(1) ); ALTER TABLE ALTER aaa TYPE varchar(2) ; ということでしょうか?

aiurai54
質問者

お礼

ありがとうございます。バージョンは7.4です。

関連するQ&A