postgresql 可以在postgressql中为同一模式下的不同表创建相同的分区名

v1uwarro  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(167)

表1:分区

CREATE TABLE p_20230610 PARTITION OF EXTRACHARGE_DATA_GROUP FOR VALUES FROM(1685836800)TO(1686441600)PARTITION BY LIST(srdg_frag_id);

在接下来的一行中,我也将创建子分区。
表2:分区

CREATE TABLE p_20230610 PARTITION OF extra_charge FOR VALUES FROM(1685836800)TO(1686441600)PARTITION BY LIST(ec_frag_id);

错误:-
在为表2创建分区时,出现以下错误
错误:关系“p_20230610”已存在
目前正在从oracle迁移到pg,因此在创建具有相同名称但不同表的分区时会出现这种错误。

gr8qqesn

gr8qqesn1#

在PostgreSQL中,分区只是一个常规的数据库表,它有一个“副作业”作为分区表的分区。在PostgreSQL中(与Oracle中一样),每个模式的表名必须是唯一的。因此,在同一架构中不能有两个同名的分区。
您必须修改命名模式,例如,以表名开始分区名。

相关问题