PostgreSQL 10

次要版本发布

主要功能

  • 逻辑复制 使用发布/订阅
  • 声明式表分区
  • 改进的查询并行性
  • 基于SCRAM-SHA-256 的更强大的密码身份验证 (提交 818fd4a6)
  • 显著的一般性能改进
  • 改进的监控和控制
  • SQL 标准标识列 (提交 32173270)
  • ICU 排序支持 (初始提交 eccfef81)
  • 版本号更改为两部分系统 (提交 ca9112a4)

后端更改

数据目录

扩展支持

  • 不再需要为每个单独的扩展版本提供扩展脚本 (提交 40b449ae)
  • 删除了对版本 0 函数调用约定的支持 (提交 5ded4bd2)

前端/后端协议

  • 删除了对协议版本 1 的支持 (提交 2f1eaf87)

进程管理

优化器

SPI

  • 一些函数被删除并替换为无操作宏 (提交 1833f1a1)
  • SPI_connect()SPI_finish() 将不再返回错误代码 (SPI_ERROR_CONNECTSPI_ERROR_UNCONNECTED) ,因为任何失败条件都将被服务器 ERROR 捕获 (提交 1833f1a1)

统计

  • 实现了多元 n-distinct 系数支持 (初始提交 7b504eb2)

触发器

  • AFTER 触发器中的转换表 (初始提交 8c48375e)

Vacuum

  • 更快地删除孤立的临时表 (提交 a734fd5d)

源代码配置

  • 删除了选项 --disable-integer-datetime (提交 b6aa17e0)
  • 添加了选项 --with-icu (提交 eccfef81)

SQL 更改

一般更改

  • 添加了 XMLTABLE 表达式支持 (提交 fcec6caa)
  • 改进了包含多个具有不同列数的返回集合函数的 SELECT 语句的行为 (提交 69f4b9c8)

命令更改

已添加

修改

数据类型更改

常规

  • 已移除对浮点时间戳的支持 (提交 b6aa17e0)

修改

索引更改

BRIN

  • 添加了自动汇总功能 (提交 7526e102)
  • 添加了通过 brin summarize range()brin desummarize range() 函数进行反汇总的支持 (提交 c655899b)
  • 成本估算改进 (提交 7e534adc)

btree 索引

  • 添加了并行索引扫描支持 (初始提交 569174f1)

GIN

  • 减少了真空操作期间的页面锁定 (提交 218f5158)

哈希索引

  • WAL 支持已添加,提供崩溃安全性 (主要提交 c11453ce)
  • 性能改进 (初始提交 6d46f478)

SP-GiST

  • 添加了对 inetcidr 数据类型的支持 (提交 77e29068)

配置更改

已添加

修改

已移除

分区更改

系统目录更改

已添加

修改

视图

已添加

修改

系统函数

已添加

修改

身份验证更改

pg_hba.conf

  • 逻辑复制连接现在作为普通连接处理,即不再使用 replication 关键字 (提交 8df9bd0b)

libpq 更改

用户/角色

添加以下 默认角色 (提交 0fdc8495)

  • pg_read_all_settings
  • pg_read_all_stats
  • pg_stat_scan_tables
  • pg_monitor

过程语言

常规

  • 改进对并行查询的支持 (提交 61c2e1a9)

PL/Python

  • 添加对函数参数中多维数组的支持 (提交 94aceed3)

复制更改

配置

已添加

  • 添加 recovery_target_lsn (提交 35250b6a)

逻辑复制

物理复制

  • 添加了基于仲裁的同步复制支持 (初始提交 3901fd70)

全文搜索更改

  • 添加对 jsonjsonb 数据类型的支持 (提交 e306df7f)

外部数据包装器 更改

服务器实用程序

修改

  • initdb
    • 现在,选项--noclean--nosync也可以拼写为--no-clean--no-sync(提交 5d58c07a
    • 选项--xlogdir重命名为--waldir(提交 62e8b387
  • pg_ctl
    • 默认情况下,对于所有操作(包括start)都会等待(命令行选项-w/--wait)(提交 05cd12ed
    • 为现有选项-o添加了长选项--option(提交 caf936b0
    • 现在每秒检查10次postmaster启动情况,而不是一次(提交 c61559ec
    • 检查postmaster.pid以获取postmaster状态,而不是尝试连接(提交 f13ea95f
    • 如果操作未在指定超时时间内完成,则始终以非零状态退出(提交 1bac5f55
  • pg_upgrade
    • 将使来自旧版PostgreSQL的哈希索引失效,并生成一个用于重新创建它们的脚本(提交 a95410e2

核心实用程序

修改

已移除

psql 变更

  • 添加了显示psql版本和服务器版本的变量(提交 9ae9d8c1
  • 添加了元命令\if\elif\else\endif(提交 e984ef58
  • 添加了\gx命令,用于以扩展模式执行查询(提交 b2678efd

Contrib 模块

已添加

修改

已移除

预发行测试版本

标记PostgreSQL 10开发开始的初始提交是 ca9112a4(2016-08-15)。