https://zhuanlan.zhihu.com/p/112054799
-- 創建父表 CREATE TABLE orders_history_subs ( id serial, user_id int4, create_time timestamp(0)) PARTITION BY RANGE(create_time); -- 創建分區表 CREATE TABLE orders_202002 PARTITION OF orders_history_subs FOR VALUES FROM ('2020-02-01') TO ('2020-03-01'); CREATE TABLE orders_history_before_202002 PARTITION OF orders_history_subs FOR VALUES FROM ('2000-01-01') TO ('2020-02-01'); CREATE TABLE orders_history_before_202003 PARTITION OF orders_history_subs FOR VALUES FROM ('2020-04-01') TO ('2020-05-01'); -- 創建索引 CREATE INDEX order_idx_history_202002_create_time ON orders_202002 USING btree(create_time); CREATE INDEX order_idx_history_before_202002_create_time ON orders_history_before_202002 USING btree(create_time); -- 綁定“二級"分區到父表上 ALTER TABLE orders ATTACH PARTITION orders_history_subs FOR VALUES FROM ('2000-01-01') TO ('2020-03-01'); SELECT * from orders_history_subs INSERT INTO orders_history_subs (user_id,create_time) VALUES (4,'2020-04-11 17:23:12'); UPDATE orders_history_subs SET user_id = 3 WHERE id = 3; DELETE FROM orders_history_subs WHERE id = 8;
(2),解綁要進行拆分的分區
ALTER TABLE orders DETACH PARTITION orders_history;
(4),綁定“二級"分區到父表上
ALTER TABLE orders ATTACH PARTITION orders_history_subs FOR VALUES FROM ('2000-01-01') TO
('2020-03-01');
(5),遷移舊數據
將原 orders_history 表中數據遷移過來
INSERT INTO orders_history_subs select * from orders_history;