PostgreSQL 14

次要版本发布

后端更改

SPI 更改

  • 添加了以下函数 (提交 ee895a65d5a83d79
    • SPI_execute_extended()
    • SPI_cursor_parse_open()

存储参数更改

  • parallel_insert_enabled 已添加 (提交 c8f78b61 已在提交 26acb54a 中回滚

Vacuum 更改

  • 执行 COPY FREEZE 后,vacuum 不再需要重写整个表 (提交 7db0cd21
  • autovacuum 详细日志中显示了每个索引的统计信息 (提交 5aed6a1f
  • 元组压缩改进 (提交 19c60ad6
  • 跳过了不必要的索引 vacuum (提交 5100010e
  • 使用 CONCURRENTLY 选项执行的索引操作将被忽略 (提交 d9d07622 此更改被发现不安全,并已在提交 042b584c 中回滚 (PostgreSQL 14.4)
  • 添加了环绕安全功能 (提交 1e55e7d1

源配置

  • 添加了 --with-ssl 选项 (提交 fe61df7f

数据类型更改

通用

  • 添加了对任意数据类型的下标支持 (提交 c7aba7c1
  • 添加了对 multirange 类型的支持 (提交 6df7a969

jsonb

  • 添加了下标支持 (提交 676887a3

pg_lsn

  • 添加了 +(pg_lsn,numeric)-(pg_lsn,numeric) 运算符 (提交 9bae7e4c

运算符更改

移除

  • 阶乘运算符 !!! (提交 76f412ab
  • 已弃用内置几何数据类型的包含运算符 @~ (提交 2f70fdb0
  • 已移除对后缀(右一元)运算符的支持 (提交 1ed6b895

索引更改

通用

  • 添加了对排序版本化的支持 (初始提交 257836a7
  • 并发索引创建可以跳过等待其他并发(重新)索引进程 (提交 c98763bf
  • 并发重新索引可以跳过等待其他并发(重新)索引进程 (提交 f9900df5

btree 索引

  • btree 索引的“自底向上删除” (提交 d168b666

BRIN 索引

  • 添加了对 BRIN Bloom 索引的支持 (提交 77b88cd1
  • 添加了对 BRIN minmax-multi 索引的支持 (提交 ab596105

GiST 索引

  • 支持通过预排序数据来构建 GiST 索引 (提交 16fa9b2b

SP-GiST 索引

  • 添加了对 INCLUDE 列的支持 (提交 09c1c6ab

分区更改

  • 分区可以并发分离 (提交 71f4c8c6

SQL 更改

已修改

系统目录更改

通用

  • 将主键和唯一约束添加到系统目录表 (提交 dfb75e47

已修改

视图

已添加

已修改

系统函数更改

已添加

已修改

移除

配置更改

通用

  • 自定义 配置参数名称只能使用有效为未加引号 SQL 标识符的名称 (提交 3db826bd

已添加

已修改

移除

已撤回

 

用户/角色

认证更改

pg_hba.conf

  • 认证选项 clientcert 不再支持 01no-verify 选项 (提交 253f1025
  • 记录可以跨越多行 (提交 8f8154a5

pg_ident.conf

  • 记录可以跨越多行 (提交 8f8154a5

正则表达式更改

  • \w 现在映射到 [​[:word:]​​] (以前是 [​[:alnum:]_]),并且不允许在字符类的范围开始/结束中使用 (提交 2a0af7fe
  • \D\S\W 现在允许在括号表达式中使用 (提交 2a0af7fe
  • 改进了正则表达式反向引用的处理 (提交 4aea704a

过程语言更改

PL/pgSQL

  • 提高了重复 CALL 调用的性能 (提交 ee895a65
  • 移除了未记录的 IS [NOT] OF 语法 (提交 926fa801

复制更改

流复制

逻辑复制 (Logical replication)

  • 数据可以以二进制格式传输 (提交 9de77b54
  • 添加了对进行中的事务的流式传输支持 (提交 46482432
  • 输出插件 API 现在可以解码准备好的事务 (提交 0aa8a01d
  • 允许在表同步期间进行多个事务 (提交 ce0fdbfe

外部数据包装器 (FDW) 更改

  • 添加了批量插入 API (提交 b663a413
  • 添加了表截断 API (提交 8ff1c946
  • 添加了异步执行支持 (提交 27e1f145

信息模式更改

  • 添加了例程使用表作为占位符 (提交 f40c6969

libpq 更改

通用

  • 现在通过 PQparameterStatus() 报告 in_hot_standby (提交 bf8a662c
  • 添加了管道模式 (提交 acb7e4eb
  • 改进了 PQtrace() 的输出格式 (提交 198b3716
  • SSL 连接默认设置了服务器名称指示 (SNI) (提交 5c55dc8b

连接参数

已添加

已修改:

移除

ECPG 更改

  • 添加了 DECLARE STATEMENT 命令 (提交 ad8305a4

psql 更改

  • 添加了 \dX 命令以显示扩展统计信息对象 (提交 ad600bba
  • 命令 \di\dm\dt 现在显示 access method 名称 (提交 07f386ed
  • 如果命令字符串包含多个查询,则默认显示所有查询结果 (提交 3a513067
  • 添加了 SHOW_ALL_RESULTS 变量 (提交 3a513067
  • 命令 \df\do 现在接受参数类型说明 (提交 a3027e1e

服务器实用程序

已添加

已修改

  • initdb
    • 添加了 --no-instructions 选项 (提交 e09155bd
    • 添加了 --discard-cache 选项 (初始提交 b741f4c3
  • pg_waldump
    • 逻辑消息的内容现在也将包含在输出中 (提交 9f1cf97b

核心实用程序

已添加

已修改

Contrib模块

已添加

已修改

移除

测试

测试模块

已添加

发布计划和预发布测试版本

标志着 PostgreSQL 14 开发开始的初始 commit 是 d10b19e2 (2020-06-07)。

CommitFests

PostgreSQL 14 代码提交的 CommitFests 如下: