如何在 PostgreSQL 的单个事务中重命名两列?

How to rename two columns inside a single transaction in PostgreSQL?

假设我有一个 table

CREATE TABLE foo (name varchar, new_name varchar);

但我想重命名 name -> old_namenew_name -> name。如何在单个事务中执行此操作?有人告诉我应该对事务进行显式锁定...哪种锁定?

谢谢!

就去做吧。开始交易,随心所欲,结束交易。

begin;
alter table foo rename name to old_name;                         
alter table foo rename new_name TO name;
commit;