【发布时间】:2020-10-13 13:40:36
【问题描述】:
我有一个现有的数据表。
create table work_data(
id integer not null,
work_time timestamp(3) without time zone not null,
message character varying(64),
primary key (id)
);
我对表进行了分区。
create table w_work01(
constraint pk_01 primary key (id),
constraint ck_01
check (work_time >= '2019/07/01'::date and work_time < '2019/07/02'::date)
) inherits (work_data);
create index idx_01 on w_work01 (work_time);
并将work_data中的数据插入w_work01。
insert into w_work01
select * from work_data
where work_time >= '2019/07/01'::date and work_time < '2019/07/02'::date)
然后删除分区表。
DROP TABLE w_work01;
已删除分区表。 但是主表中的数据保持不变。 于是我搜了一下,找到了下面的查询。
ALTER TABLE master_table DROP PARTITION partitioned_table;
但是当我使用这个时,出现了错误。
partitioned_table 处或附近的语法错误
我该如何解决?
【问题讨论】:
-
使用 partition_name 代替 partitioned_table,您可以通过以下命令找到它:
SELECT partition_name, server_name, high_value FROM ALL_TAB_PARTITIONS; -
@ROHITKHURANA 这不是关于甲骨文的。水晶,请显示您执行的所有语句:您如何创建表,如何删除分区以及如何发现数据仍然存在。
-
@Laurenz Albe 我编辑了我的问题。
-
@ROHIT KHURANA 感谢您的帮助。我发现并使用了它。但是出现了语法错误之类的错误!
标签: postgresql