postgresql10以上的自动分区分表功能

postgresql10以上的自动分区分表功能

一.列分表

1.首先创建主分区表:

create table fenbiao(id int,year varchar) partition by list(year)

这里设置的是根据year列进行数据分表;创建后使用navicat是看不到的;

2.创建分表:

create table fenbiao_2017 partition of fenbiao for values in ('2017')create table fenbiao_2018 partition of fenbiao for values in ('2018')

这样这两天数据会依靠规则插入到不同分表中,如果插入一条不符合规则的数据,则会报错误:no partition of relation "fenbiao" found for row.

二.范围分表

1.以year列为范围进行分表

create table fenbiao2(id int,year varchar) partition by range(year)

2.创建分表

 create table fenbiao2_2018_2020 partition of fenbiao2 for values from ('2018') to ('2020') create table fenbiao2_2020_2030 partition of fenbiao2 for values from ('2020') to ('2030')

注意:此时插入year=2020会插入到下面的表;如下面表范围为2021到2030,则会报错;同时插入2030也会报错;范围相当于时a<=year<b;

https://blog.csdn.net/myth_g/article/details/83748066

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容