如何在重命名表名后更改列上的注解?

v1uwarro  于 2021-08-09  发布在  Java
关注(0)|答案(2)|浏览(372)

我在用flyway处理我的数据库。我通过以下方式更改了表名:

alter table tablename rename to table_name;

如何更改当前在所有列上的所有注解?我应该删除它们并重新创建,还是在一行中有一个特定的altercommentsql命令来执行此操作?或者他们会相应地适应?

u7up0aaq

u7up0aaq1#

你不必这么做 ALTER 评论。只是使用

COMMENT ON table_name.colname IS '...';

设置新注解。这将自动覆盖旧的注解。
评论不是 ALTER ed或 DROP 佩德。若要删除注解,请使用将其设置为null COMMENT ON .

pes8fvy9

pes8fvy92#

注解将随着表重命名而“移动”:


# select c.relname table_name, pg_catalog.obj_description(c.oid) as comment

from pg_catalog.pg_class c where c.relname = 'old';
 table_name |   comment   
------------+-------------
 old        | comment old
(1 row)

# alter table old rename to new;

ALTER TABLE

# select c.relname table_name, pg_catalog.obj_description(c.oid) as comment

from pg_catalog.pg_class c where c.relname = 'old';
 table_name | comment 
------------+---------
(0 rows)

# select c.relname table_name, pg_catalog.obj_description(c.oid) as comment

from pg_catalog.pg_class c where c.relname = 'new';
 table_name |   comment   
------------+-------------
 new        | comment old
(1 row)

# 

相关问题