PostgreSQL重命名表-级联重命名为对象,如索引、包含表名的约束

PostgreSQL重命名表-级联重命名为对象,如索引、包含表名的约束,postgresql,Postgresql,我用altertable\uu重命名为重命名了我的表: 将TABLE foods重命名为food; 将餐桌食品营养素更名为食品营养素; 它起作用了,但是包含这些表名的其他数据库对象(如索引、序列和约束)没有更新。所以我必须手动更新它们,如下所示: ALTER INDEX foods_pkey重命名为food_pkey; 将顺序食品_id_seq重命名为食品_id_seq; 将餐桌食品营养素更名为约束食品营养素食品id改为食品营养素食品id; 没有必要重新命名它们,但不这样做是不对的。我想知道

我用
altertable\uu重命名为
重命名了我的表:

将TABLE foods重命名为food;
将餐桌食品营养素更名为食品营养素;
它起作用了,但是包含这些表名的其他数据库对象(如索引、序列和约束)没有更新。所以我必须手动更新它们,如下所示:

ALTER INDEX foods_pkey重命名为food_pkey;
将顺序食品_id_seq重命名为食品_id_seq;
将餐桌食品营养素更名为约束食品营养素食品id改为食品营养素食品id;

没有必要重新命名它们,但不这样做是不对的。我想知道是否有自动执行此操作的命令。或者重命名所有包含旧表名的对象不是很常见吗?

索引、序列等的名称与任何表名之间没有技术关系。因此,没有可靠的方法自动重命名它们

您可以编写一个脚本,通过搜索和替换遍历模式并重命名内容,但这会带来误报的风险