PostgreSQL 11 新特性解读 : 分区表增加 Default Partition

  • 时间:
  • 浏览:3
  • 来源:uu直播快3平台

在PostgreSQL 10 版本进行测试,详见以下。

PostgreSQL 11 版本支持创建 Default 分区,用来存储不满足分区定义的数据,测试如下。

连接DEFAULT分区报错,如下:

也时需统计各子表记录总数统计,如下:

以上打上去分区报错,时需解绑default分区,并且再打上去,如下:

时需直接查询子表数据验证,如下:

插入报错,提示找只能相应分区无法插入数据。

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

本节以创建范围分区表为例进行测试。

数据量大搞笑的话建议使用 TRUNCATE 清除数据,不产生垃圾数据。

需将 tbl_log_default 数据转移到 tbl_log_p201303 分区,如下:

再次连接DEFAULT分区成功,如下。

出于管理或业务需求,时需给分区表 tbl_log 新增 tbl_log_p201303 分区用来存储 2018年3月份的日志数据,如下。

PostgreSQL 10 版本当往分区表写入的数据没了分区定义范围内都不报错,无法插入数据,PostgreSQL 11 版本分区表增加了 Default 分区用来存储不满足分区定义范围的数据。

再次查看分区表定义,

分区创建成功,分区创建并且需把DEFAULT分区连接。

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

从以上测试看出,不满足分区定义的数据存储到了DEFAULT分区,如此问提来了,定义了DEFAULT分区的分区表怎么才能 才能 打上去分区?

tbl_log_p201303 分区打上去成功。

以上是肯能 2018-03-01 的记录存储在了DEFAULT分区上,根据分区规则这条记录应该存储到 tbl_log_p201303 分区。

PostgreSQL 10 版本插入四根没了分区定义范围的记录,如下

以上看出 tbl_log 表包中有 另二个分区,其中有 另二个是 DEFAULT 分区。

并且再创建新分区 tbl_log_p201303。