2011-08-10 11 views
0

私は次のクエリを実行していることだし、有効でないことを言っている:Postgreqslクエリエラー

redmine=# ALTER TABLE changesets ALTER COLUMN committer TYPE character varying(100); 
ERROR: syntax error at or near "TYPE" at character 47 

誰もがこの問題の解決策上の任意のアイデアを持っていますか?

+0

これは入力の正確なコピーですか? Postgresのマニュアルはこれを例として挙げています(コース名は異なる)ので、構文は正しいはずです。どのバージョンを使用していますか? 'character varying(100)'の代わりに 'varchar(100)'と言うとどうなりますか? – musiKk

+0

私はph 7.4を使用していますが、それでも文字のないエラー – Prisoner

+0

7.4はもうサポートされていません。新しいバージョンにアップグレードすることを検討する必要があります:http://wiki.postgresql.org/wiki/PostgreSQL_Release_Support_Policy –

答えて

1

Postgres 7.4 does not support retyping columns。新しい列を作成し、データをコピーし、古い列を削除し、新しい列の名前を古い名前に変更する必要があります。

コピーするデータがない場合は、もちろん古い列を削除して新しい列を作成することもできます。

+0

これは私が最後にしたものです – Prisoner

+0

Ifあなたは十分に戻って、pgsqlは列の削除をサポートしていませんでした。 –