1
0

More than 3 years have passed since last update.

Rangeパーティションを削除する方法

Posted at

パーティションしたテーブルを戻したい事はほとんどないような気がしますが、
たまたまやる機会があったので備忘録的な物として残しておきます。

まずは、普通に作ったパーティションを全て削除しようと思いました。
ALTER TABLE table_name DROP PARTITION p201905, p201908,
p201911, p202002, p202005, p202008, p202011, p202102, p202105, p202108, p202111;

Cannot remove all partitions, use DROP TABLE instead というエラーが出て駄目でした。

解決方法
ALTER TABLE table_name REMOVE PARTITIONING;

件数に寄りますがかなり時間が掛かります。

create unique index unique_index_activities_id on activities (id) ;
ALTER TABLE table_name DROP PRIMARY KEY;
ALTER TABLE table_name ADD PRIMARY KEY (id) ;
DROP INDEX uniq_index_activities_id_and_created_at ON table_name

あとは、プライマリーキーを削除するために、一旦ユニークキーを作成して、プライマリーキーを削除して
IDで再度作り直して、Rangeパーティションのユニークインデックスキーを削除しました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0