PostgreSQL分区表操作行为咨询:删除、重命名表及索引
PostgreSQL分区表三类操作的行为说明
1. 删除主表(DROP TABLE)
执行 DROP TABLE table_name; 会自动级联删除所有关联的分区,无需提前手动删除分区。分区作为主表的从属对象,主表被删除时,所有依赖它的分区会被一并清理。
2. 重命名索引
执行 ALTER INDEX temp_table_name_idx RENAME TO table_name_idx; 仅会修改主表上的索引名称,不会同步修改各个分区上的独立索引。因为每个分区的索引都是单独的数据库对象,和主表索引是关联但独立的。如果需要统一所有分区的索引名称,需要逐个对分区执行类似的ALTER INDEX命令,或者通过脚本批量处理。
3. 重命名主表
执行 ALTER TABLE table_name RENAME TO new_table_name; 后,新表new_table_name会完整保留原主表关联的所有分区。分区与主表的关联关系由内部元数据维护,重命名操作不会破坏这种关联,后续对new_table_name的查询、写入等操作依然会自动覆盖所有分区。
内容的提问来源于stack exchange,提问作者saadi
相关产品推荐
相关产品推荐

