本篇文章主要介绍了" pg 10多级分区表(range_list)配置查询",主要涉及到方面的内容,对于其他数据库感兴趣的同学可以参考一下:
-- define partitioned table: t_range_listcreate table t_range_list(id bigserial,...
-- define partitioned table: t_range_list
create table t_range_list(id bigserial, tenant_id int, crt_time timestamp) partition by list ( mod(tenant_id, 10));
-- level 1 : list-- list ( mod(tenant_id, 10))
create table t_range_list_0 partition of t_range_list (id, tenant_id, crt_time ) for values in (0) partition by range (crt_time);
create table t_range_list_1 partition of t_range_list (id, tenant_id, crt_time ) for values in (1) partition by range (crt_time);
create table t_range_list_2 partition of t_range_list (id, tenant_id, crt_time ) for values in (2) partition by range (crt_time);
create table t_range_list_3 partition of t_range_list (id, tenant_id, crt_time ) for values in (3) partition by range (crt_time);
create table t_range_list_4 partition of t_range_list (id, tenant_id, crt_time ) for values in (4) partition by range (crt_time);
create table t_range_list_5 partition of t_range_list (id, tenant_id, crt_time ) for values in (5) partition by range (crt_time);
create table t_range_list_6 partition of t_range_list (id, tenant_id, crt_time ) for values in (6) partition by range (crt_time);
create table t_range_list_7 partition of t_range_list (id, tenant_id, crt_time ) for values in (7) partition by range (crt_time);
create table t_range_list_8 partition of t_range_list (id, tenant_id, crt_time ) for values in (8) partition by range (crt_time);
create table t_range_list_9 partition of t_range_list (id, tenant_id, crt_time ) for values in (9) partition by range (crt_time);
-- level 2 : range-- range (crt_time)
-- t_range_list_0
create table t_range_list_0_201701 partition of t_range_list_0 (id primary key, tenant_id , crt_time ) for values from ('2017-01-01') to ('2017-02-01');