PostgreSQL 10.2 Hash分区实现
发布时间
阅读量:
阅读量
基于Postgresql 10.2版本,达成对Hash分区的简易实现。
在Postgresql 10版本之前,系统并未提供内置的分区功能,但可通过继承表结合触发器或规则的方式,实现基础的分区操作。随着Postgresql 10版本的发布,其源代码中已集成range和list两种分区方式。在借鉴他人实现方案的基础上,尝试在该新版本中完成Hash分区功能的开发。(持续更新中)
思路
- 首先构建主表结构,随后建立分区表,其创建语句与list和range方式相似。
- 在数据插入过程中,系统会依据分区键(key)确定对应的目标子分区。
- 当前阶段仅允许采用静态方式新增分区。
- 在执行select操作并进行约束排除时,同样采用该算法实现对分区的筛选。
建表语法
构建Hash分区语法:与list和range相似,但在创建子分区时,并未设定具体的约束值。
me=# create table hash_table(id int,name text) partition by hash(id);
CREATE TABLE
时间:7.496 ms
me=# create table hash_table1 partition of hash_table;
CREATE TABLE
全部评论 (0)
还没有任何评论哟~
