重命名表:
alter table mytable rename to mytable_old;
使用指向同一列(当然还有所有其他列)的bad_column_name 和 better_column_name 使用原始表名创建一个视图:
create or replace view mytable as
select column1
, column2
, ...
, bad_column_name
, bad_column_name better_column_name
from mytable_old
;
由于默认情况下此视图是可更新的(我在这里假设 mytable 具有主键),因此您可以从视图中插入/更新/删除,并且使用 bad_column_name 或 better_column_name 都没有关系。
重构后,删除视图并重命名表和列:
drop view mytable;
alter table mytable_old rename column bad_column_name to better_column_name;
alter table mytable_old rename to mytable;