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

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

Hash 索引

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

SP-GiST

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

配置更改

已添加

已修改

移除

分区更改

系统目录更改

已添加

已修改

视图

已添加

已修改

系统函数

已添加

已修改

认证更改

pg_hba.conf

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

libpq 更改

Users/roles

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

  • pg_read_all_settings
  • pg_read_all_stats
  • pg_stat_scan_tables
  • pg_monitor

过程语言

通用

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

PL/Python

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

复制更改

配置

已添加

逻辑复制 (Logical replication)

物理复制

  • 添加了法定人数同步复制支持 (初始提交 3901fd70)

全文搜索更改

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

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

服务器实用程序

已修改

  • initdb
    • 选项 --noclean--nosync 现在可以拼写为 --no-clean--no-sync (提交 5d58c07a)
    • 选项 --xlogdir 重命名为 --waldir(提交 62e8b387
  • pg_ctl
    • 默认情况下,所有操作(包括 start)都将等待(命令行选项 -w/--wait)(提交 05cd12ed)
    • 为现有选项 -o 添加了长选项 --option (提交 caf936b0)
    • 现在每秒检查 postmaster 启动 10 次,而不是 1 次 (提交 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)。