PostgreSQL 11 新特性解读:分区表支持创建主键、外键、索引

  • 时间:
  • 浏览:0
  • 来源:大发5分快3APP下载_大发5分快3APP官方

创建分区表并插入测试数据,为后续测试做准备。

给分区表插入3000万数据,如下:

查看子表,发现子表上也有了主键。

购买链接:https://item.jd.com/12405774.html

手册上的 Release 说明

在父表上查看,如下。

在父表上创建主键,如下。

最后推荐和张文升并肩编写的《PostgreSQL实战》,本书基于PostgreSQL 10 编写,共18章,重点介绍SQL高级结构、并行查询、分区表、物理基因重组、逻辑基因重组、备份恢复、高可用、性能优化、PostGIS等,含有少许实战用例!

本文以创建哈希分区表为例进行测试。

PostgreSQL 10 版本确实支持创建范围分区表和列表分区表,但创建过程依然比较繁琐,前要手工定义子表索引、主键,详见 PostgreSQL10:重量级新结构-支持分区表,PostgreSQL 11 版本得到增强,在父表上创建索引、主键、外键后,子表上将自动创建,本文演示这有五种场景。

此主键为全局主键,子表间的主键之间必须有重复数据。

Support for PRIMARY KEY, FOREIGN KEY, indexes, and triggers on partitioned tables

以上演示了 PostgreSQL 11 分区表在父表上创建索引、主键、外键后,子表会自动创建相应索引、主键、外键,相比10版本极大减少了分区表维护工作量。

值得一提的是,11 版本事先 PostgreSQL 的分区表不支持全局主键,确实还才能在父表和子表上分别定义主键,但不支持全局主键,也本来我说,父表和子表、子表和子表的主键数据还才能重复。

在父表上创建索引,如下

之类 两张表,supplier_groups 和 supplier 分别用来存储供应商分组和供应商信, 如下。

查看子表,发现子表上也自动创建了外键。

发现父表和子表上都创建了索引,如下。