PostgreSQL 11.0的新版本已经发布

PostgreSQL的

PostgreSQL 是一个免费开源的对象关系数据库管理系统,采用 PostgreSQL 许可证发布,类似于 BSD 或 MIT 许可证。

与其他许多开源项目一样,PostgreSQL 的开发并非由公司或个人管理,而是由一群无私奉献、无私奉献的开发者领导,他们自由地工作,或得到商业组织的支持。

它的一些主要特征是:

出勤率高

通过名为 MVCC(多版本并发访问)的系统,PostgreSQL允许多个进程在不加锁的情况下写入同一张表,同时其他进程也可以访问同一张表。这样,每个用户都能获得一致的数据视图。

PostgreSQL本身提供对以下方面的支持:

  • 任意精度数字。
  • 长度不受限制的文字。
  • 几何图形(具有各种相关功能)。
  • IP地址(IPv4和IPv6)。
  • CIDR样式的地址块。
  • MAC地址。

数组。

此外,用户还可以创建自己的数据类型,借助PostgreSQL 的 GiST 基础架构,这些数据类型可以完全建立索引。例如,PostGIS 项目创建的 GIS 数据类型。

关于PostgreSQL 11.0的新版本

几天前,PostgreSQL 发布了新版本,版本号为 PostgreSQL 11,新增了多项功能,最重要的是修复了多个错误。

主要的新颖之处在于,它们专注于管理具有大量数据的数据库。

改进的分区

PostgreSQL 早已支持分区;分区是指将数据存储在多个独立的表中,这些表在逻辑上属于同一个表。

数据库用户看不到这种分布情况,这种分布允许数据存储在多个文件系统中,并根据数据类型呈现不同的特性。例如,最近的数据存储在固态硬盘 (SSD) 上,而较旧的数据则存储在机械硬盘 (HDD) 上。

可以划分为数据列表或间隔。 现在可以对键哈希进行分区以使数据随机化。

这使得可以在多个存储中分布读写操作。

现在可以在主表级别上声明主键和外键以及索引和触发器,并将它们反映在分区中的所有成员表上。

如果分布键发生更改, PostgreSQL现在也可以自动更改分区数据。

分区表的读取性能也已通过新的分区删除策略得到了改善。

UPSERT功能现在也适用于分区表。

PostgreSQL 11

存储过程中事务的可用性

存储过程在PostgreSQL中已经存在很长时间了,但是无法在其中创建事务。 现在有可能。

性能提升

现在,可以利用当今处理器中的众多核心,并行执行多个操作。

因此,分区表可以并行读取,但当SELECT查询包含UNION子句时也可以并行读取。

索引创建也是并行进行的,其他数据定义语言 ( DDL ) 命令,如CREATE TABLE或CREATE MATERIALIZED VIEW 也是如此。

随时随地构建

PostgreSQL提供了一个基于时间的编译器,它可以优化复杂查询,从而提高执行速度。PostgreSQL 使用 LLVM 编译器来实现这一目标。

要激活它,您必须在配置文件中添加 jit=on或定义会话变量 SET jit=on。

简化=速度

现在,在使用非空默认值执行ALTER TABLE … ADD COLUMN … DEFAULT … 调用时,不再需要重写整个表。这大大提高了该命令的执行速度,尤其是在处理大型表时。

用户体验

除了 \q 之外,命令行界面 (psql) 现在还可以识别关键字quitty exit来完成该过程。

要获取此新版本,您可以访问以下链接。


在 Google 中将其添加为首选来源