postgres分区range例子

psql分区表简单例子

主表

本地psql10.10 ,因为目前使用的阿里云psql的rds是10.10 ,所以目前就是用10.10的版本。
分区表的意义就是相当于把一个大表分成了很多个个小的子表,也方便了进行按一定间隔的增加和删除的效率。行成一种逻辑上一体。物理上分开的表组织结构。

psql有几种分区的方式:
LIST PARTITION
RANGE PARTITION(本文只演示这种)
HASH PARTITION(11以上)
MULTILEVEL PARTITION (多级组合类型)

create table main_partition (id int, update_date timestamp without time zone) partition by range(update_date);  

#把这个日期列作为分区依据

从表

create table sub_partition_2020_2021 partition of main_partition for value from ('2021-01-01') to ('2022-01-01');  

#这儿默认是以主表的分区列作为value的 range划分,是[2021-01-01,2022-02-02) ,左边闭,右边开的区间。

ps:插入的时候插入主表就可以,不过子表之前的范围不可以有重叠,主表插入的范围还没创建的时候会出错。这儿插入操作会子自动按照范围分发到对应范围的子表中去。

建表可以通过脚本来进行创建的操作。

总结

小案例,具体查看官方文档和下方其他几种类型的

https://www.postgresql.org/docs/10/ddl-partitioning.html
https://www.enterprisedb.com/postgres-tutorials/how-use-table-partitioning-scale-postgresql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值