PostgreSQLでは、ALTER TABLE
一連の操作を行うことができます。だから:
ALTER TABLE <tablename> RENAME <oldcolumn> TO <newcolumn>;
ALTER TABLE <tablename> ALTER COLUMN <columnname> TYPE <newtype>;
と同じです
ALTER TABLE <tablename>
ALTER COLUMN <columnname> TYPE <newtype>
RENAME <oldcolumn> TO <newcolumn>;
しかし...なぜですか? IIRCの名前変更では全表スキャンが発生しないため、1つのトランザクション内で2つのステートメントを別々に実行するよりもメリットはありません。これで実際に解決しようとしている問題は何ですか?