Toggle navigation
PostgreSQL中文社区
首页
(current)
社区新闻
中文文档
加入ACE
相关资料
了解PostgreSQL
PostgreSQL相关文档
PostgreSQL软件下载
PostgreSQL中文图书
社区年会PPT资料
关于中文社区
注册
登录
所有版本列表
首页
新版本发布声明
PostgreSQL 15 Beta1版本发布说明
翻译:
doudou586
... 新闻稿采编:
2022-05-20 21:48:10+08
软件发布:2022-05-20
2022-05-19,PostgreSQL全球开发组宣布,功能最为强大的开源数据库,PostgreSQL 15的第1个Beta测试版本已提供[下载](https://www.postgresql.org/download/),这个版本包含将来PostgreSQL 15正式版本中的所有特性和功能,当然一些功能的细节在Beta测试阶段也可能会有些变化。 可以从以下网址浏览PostgreSQL 15版本[所有的新特性和变化内容](https://www.postgresql.org/docs/15/release-15.html)。 按PostgreSQL开源社区的精神,我们鼓励大家在用户的场景下测试新功能,以帮助我们消除Bug或是其他可能存在的问题。当然我们不建议大家在生产环境使用PostgreSQL 15 Beta1版本, 我们鼓励用户使用生产环境下的数据或工作负载测试这个版本。用户的测试将帮助社区来确保PostgreSQL 15版本保持我们一贯以来的标准,即提供稳定、可靠的世界上功能最为强大的开源的关系数据库系统。 用户可以从以下[网址](https://www.postgresql.org/developer/beta/)浏览有关Beta测试的过程以及如何向PostgreSQL项目作贡献的内容。 ### PostgreSQL 15版本新特性 #### 开发者体验 PostgreSQL 15版本增加了一系列功能来简化和提升开发者的使用体验。 新版本引入了新的MERGE特性,这是一项SQL标准功能,它可以有条件地执行写操作(INSERT、UPDATE、DELETE),在以前的版本中,类似的操作可以通过存储过程,或是在限定条件下,使用INSERT ... ON CONFLICT来完成。 在PostgreSQL 15版本中,开发人员可以通过写相对简单、有直观意义的查询来执行相应的数据更新操作; PostgreSQL也增强了自2012年从9.2版本就引入的JSON功能,而SQL/JSON的标准直到2017年才发布。新版本中可以指定一组接口来灵活地存取保存在关系数据库中JSON数据。15版本通过对已有的SQL/JSON路径检索功能的增强,也实现了更多的SQL/JSON标准,包括SQL/JSON初始创建,查询,属性探知,当然也包括将JSON转为数据表功能。 PostgreSQL 15也增加了更多的正则表达式功能,包括regexp_count 、 regexp_instr 、 regexp_like 和 regexp_substr 。 range_agg函数在15版本中现在也可以支持聚合多范围multirange数据类型数据。 #### 性能提升 PostgreSQL 在最近的多个版本中,一直在持续提升性能,15版本也不例外。此次新版本对大数据集的排序,特别是在数据集大小超过 work_mem参数指定大小时,性能显著提高。 新版本中对各类查询也进行了优化,包括对SELECT DISTINCT指令引入了并行查询功能,对使用row_number(), rank(),count() 等窗口函数也进行了增强。 现在使用PostgreSQL外部数据封装器postgres_fdw来管理远程数据时,可以并行提交事务。还有多处对分区表查询的性能优化。 PostgreSQL 的系统表和TOAST表(用于存储大于单页8K大小的数据),现在可以利用索引去重功能,来减小索引并加快查询。 psql 的\copy 指令,现在新的15版本中也得到了专项提升。 #### 备份、归档 和压缩 在前一个版本中引入的 LZ4 压缩算法后,新的15版本中又引入了Zstandard算法,并在各个模块可以使用。 pg_basebackup用于 PostgreSQL全备的工具,现在支持服务端各种压缩算法,包括 Gzip、 LZ4 和 Zstandard , 这个pg_basebackup客户端工具现也支持对备份文件使用LZ4和Zstandard算法的解压操作。 WAL预写日志文件现在通过对 wal_compression配置参数修改,可以支持使用LZ4、Zstandard算法进行压缩。新版本中也加入了recovery_prefetch选项,可以通过预存取数据块来帮助提高恢复操作。15版本还增加了一个新模块pg_walinspect,可以帮助用户使用SQL来检查WAL日志文件的详情。 PostgreSQL 15版本可以让用户直接进行WAL归档,而不必通过在命令行指定archive_library参数后运行。 另外,extension扩展子模块现在可以指定它们自己的WAL资源管理器,来配合逻辑复制操作。 #### 逻辑复制 PostgreSQL 15版本,对逻辑复制引入了行过滤和列过滤功能。用户也可以方便地指定一个模式中的所有表进行订阅发布,而以前只能是对一个数据库的所有表进行发布。 新版本中也增加了更多处理冲突的功能,一个订阅者可以指定disable_on_error 参数,在有错误发生时来自动停止逻辑复制。PostgreSQL 15新版本通过使用 ALTER SUBSCRIPTION ... SKIP指令,也使逻辑复制可以跳过某些指定的数据变化成为可能。. #### 后台管理 PostgreSQL 15 新版本引入了 jsonlog数据格式用于日志记录,这允许 PostgreSQL日志可以被很多以结构化日志提取、聚合和分析的应用软件直接使用。新版本中也会自动记录运行较慢的checkpoints和autovacuum操作。 psql客户端工具现在新增了一个 \dconfig 指令,用于检查系统参数配置,缺省情况下, \dconfig显示所有不是缺省参数值的参数及其当前新值。 PostgreSQL 15新版本现在也在共享内存中保存了服务器层级的统计数据,系统服务现在不必再运行一个统计数据收集进程了。 ALTER TABLE指令现在可以修改一个表的ACCESS METHOD参数,用于变更表的底层数据存储方式。 #### 安全性 PostgreSQL 15版本中在创建数据库时引入了新的缺省设置,现在数据库创建后,只要不是pg_database_owner中指定的用户,包括超级用户在内都是不能在缺省的public模式中创建对象。 PostgreSQL 15版本增加了对security invoker views的支持,它使用执行查询的当前用户权限,而不是创建视图的用户权限。 在PostgreSQL 15版本中未授权的用户,现在可以通过使用SET来更新服务端变量或是ALTER SYSTEM指令来进行用户授权。 ### 其他的特性 许多其他的新特性和改进也加入了PostgreSQL 15,部分内容对一些特定的用户也许比上面提及的改进更重要。请参阅 [发布声明详稿](https://www.postgresql.org/docs/15/release-15.html) 来浏览完整的全部新特性或是改进功能列表。 ### Bug和兼容性的测试 每一个PostgreSQL版本的稳定性都依赖于社区中的广大用户,来使用自己的工作负载和测试工具来发现Bug及进行回归测试。由于这还是一个Beta版本,数据库操作的方式、新特性的细节以及API可能都还会有小的修改。用户的反馈和测试将帮助我们决定对新特性的最终优化,所以请在近期就进行测试。用户测试的质量将帮助我们决定何时可以发布最终版本。目前仍待解决的问题在PostgreSQL的WIKI页面上有一个 [问题列表](https://wiki.postgresql.org/wiki/PostgreSQL_15_Open_Items)。用户可以通过 以下网址来报告Bug:https://www.postgresql.org/account/submitbug/ ### BETA发布安排 这是PostgreSQL 15的第1个Beta版本,PostgreSQL项目组会根据测试情况来发布更多的测试版本,在2022年末正式版本发布前会发布1个或多个候选版本。更多信息请浏览 [Beta版本测试信息](https://www.postgresql.org/developer/beta/) ### 相关链接 - [下载](https://www.postgresql.org/download/) - [Beta版本测试信息](https://www.postgresql.org/developer/beta/) - [PostgreSQL 15 Beta1发布说明详稿](https://www.postgresql.org/docs/15/release-15.html) - [PostgreSQL 15版本待处理问题](https://wiki.postgresql.org/wiki/PostgreSQL_15_Open_Items) - [提交Bug](https://www.postgresql.org/account/submitbug/)
© 2010 PostgreSQL中文社区