ALTER TABLE…DROP PARTITION命令用于删除分区和存储在这个分区上的数据。当您删除一个分区时,这个分区的任何子分区也会被删除。
要使用DROP PARTITION子句,您必须是分区根的拥有者、拥有表的小组的成员或拥有数据库超级用户或管理员的权限。
PARTITION europe VALUES('FRANCE', 'ITALY'),
PARTITION asia VALUES('INDIA', 'PAKISTAN'),
PARTITION americas VALUES('US', 'CANADA')
查询视图ALL_TAB_PARTITIONS 显示分区名称:
acctg=# SELECT partition_name, high_value FROM ALL_TAB_PARTITIONS;
partition_name | high_value
----------------+---------------------
europe | 'FRANCE', 'ITALY'
asia | 'INDIA', 'PAKISTAN'
americas | 'US', 'CANADA'
(3 rows)
要从表 sales中删除分区americas,要先调用下列命令:
ALTER TABLE sales DROP PARTITION americas;
查询视图 ALL_TAB_PARTITIONS 显示了分区已被成功删除:
acctg=# SELECT partition_name, high_value FROM ALL_TAB_PARTITIONS;
partition_name | high_value
----------------+---------------------
asia | 'INDIA', 'PAKISTAN'
europe | 'FRANCE', 'ITALY'
(2 rows)