PostgreSQL 13

简介: 背景         PostgreSQL 全球开发组于2020年9月24日宣布PostgreSQL 13正式发布,作为世界上最先进的开源数据库,PostgresSQL 13是目前的最新版本。         阿里云是中国地区第一家支持PostgreSQL 13的云厂商,在 RDS 和 专属集群 两条产品线都提供了

背景

        PostgreSQL 全球开发组于2020年9月24日宣布PostgreSQL 13正式发布,作为世界上最先进的开源数据库,PostgresSQL 13是目前的最新版本。

        阿里云是中国地区第一家支持PostgreSQL 13的云厂商,在 RDS 和 专属集群 两条产品线都提供了版本13的售卖,云数据库服务采用统一的数据库内核(简称AliPG),为客户提供了更稳定、更安全和更高性能的数据库服务。

        PostgreSQL 13在索引和检索方面进行了重大改进,有利于大型数据库系统的应用,同时带来了空间的节省和性能的提高,使用聚合或分区的查询能得到更快得响应,使用增强的统计信息使查询计划更加优化,以及很多其他改进。PostgreSQL 13除了具有强烈要求的功能(如并行清理和增量排序)外,还提供了更好的数据库管理体验。同时PostgreSQL 13针对日常管理进行了优化,为应用程序开发人员提供了更多便利,并增强了安全性。

 

 

新特性

逻辑复制支持分区表

        PostgreSQL 从版本10开始支持逻辑复制,在版本12前逻辑复制仅支持普通表,不支持分区表,如果需要对分区表进行逻辑复制,需单独对所有分区进行逻辑复制。PostgreSQL 13 版本开始,逻辑复制新增了对分区表的支持,具体包括:1. 可以显式地发布分区表,自动发布所有分区;2. 从分区表中添加或删除分区将自动从发布中添加或删除。

 

Btree索引优化

        PostgreSQL 13 版本的Btree索引在存储层面引入了一个重要的技术:Deduplication,是指索引项去重技术,因此有效地处理标准数据库索引B-tree中的重复数据,继而降低了B-tree索引所需的总体使用空间,同时提高了整体查询性能。索引的Deduplication选项默认是开启的,如果想关闭指定索引的Deduplication,需要设置存储参数deduplicate_items为off。

 

增量排序

        PostgreSQL 13 版本的一个重要特性是支持增量排序(Incremental Sorting),查询中来自较早步骤的已排序数据可以加快后续步骤的排序。方法是通过enable_incrementalsort参数控制是否开启增量排序,此参数默认开启。

 

并行VACUUM索引

        PostgreSQL 13 版本允许VACUUM并行处理表的索引,方法是通过PARALLEL参数控制是否开启并行vacuum索引。

 

并行Reindexdb

        reindexdb命令用于重建一个或多个库中表的索引,可以是schema级索引重建,也可以是database级索引重建。reindexdb是REINDEX INDEX命令的的封装,两者在本质上没有区别。PostgreSQL 13 版本前reindexdb不支持并行选项,13 版本此命令新增 -j 选项,支持全库并行索引重建。

 

wal_keep_size

        PostgreSQL 13 版本将 wal_keep_segments 重新定义为 wal_keep_size,决定了为备库保留的WAL量。版本13采用字节大小表示,不再采用保留文件的个数,可通过下述公式换算:wal_keep_size = wal_keep_segments * wal_segment_size。

 

其他

        允许 EXPLAIN、auto_explain、autovacuum、pg_stat_statements 跟踪WAL使用情况统计信息

        受益于B树中重复数据的优化,更加的节省空间提升效率

        索引和检索方面进行了重大改进,有利于大型数据库系统

        优化了聚合及分区表的性能

        优化了使用额外数据时的查询计划

        更多类型的聚合和分组、高效哈希聚合功能

 

 

迁移

        PostgreSQL 社区每年会发布一个大版本,每个大版本社区支持5年,大版本通常会带来功能、性能方面的革命性提升,一个版本使用5年后,由于社区不再提供支持,数据库风险将逐渐增加,因此国内的 PostgreSQL 大客户都有非常完善的大版本升级策略和方法。PostgreSQL 支持 pg_dumpall、pg_upgrade 和逻辑复制的方式从低版本升级至13。

        阿里云RDS数据库团队提供了 RDS-PostgreSQL 的大版本升级能力,目前支持从 10、11、12 不同版本的源实例升级到 11、12、13,为老版本用户体验新版本特性提供了便利,可以做到零宕机平滑升级。同时支持割接模式和非割接模式两种模式,非割接模式相当于克隆高版本实例,可用于验证和测试,割接模式自动切换连接串到高版本。基于云盘快照复制数据并进行升级,相比于逻辑复制节省数据迁移时间。

        PostgreSQL 13 以下特性可能会影响数据库的一致性,升级需要谨慎评估:

  • 将 IMILAR TO ... ESCAPE NULL 改为返回空值
  • json[b]_to_tsvector() 将会对字符类型做完整的拼写检查
  • 改变 effective_io_concurrency 非默认值影响并发的方式
  • 不在 pg_stat_ssl 和 pg_stat_gssapi 两张表中显示辅助进程
  • 重命名一些等待时间来保持一致性
  • 修复 ALTER FOREIGN TABLE ... RENAME COLUMN 返回一个更合适的命令符
  • 将 wal_keep_segments 重命名为 wal_keep_size
  • 移除 PG8.0 之前对于operator classes定义的语法的支持
  • 移除 PG7.3 之前对于foreign key constraints、pseudo-types定义的语法支持
  • 移除对于unpackaged 插件的支持
  • 移除对于posixrules文件的支持
  • 升级对于ltree的推断方式
  • 修复 pageinspect 的 bt_metap()函数

 

 

关于

        PostgreSQL是世界上最先进的开源数据库,它的全球社区由成千上万的用户、开发人员、公司或其他组织组成。PostgreSQL起源于加利福尼亚大学伯克利分校,已经有30多年的历史,并且以无与伦比的开发速度继续发展。PostgreSQL的成熟功能不仅与顶级商业数据库系统匹配,而且在高级数据库功能、可扩展性、安全性和稳定性方面都超越了它们。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
存储
Rockchip系列之浅度分析LED状态灯 Driver篇(1)
Rockchip系列之浅度分析LED状态灯 Driver篇(1)
859 2
|
监控 安全 网络安全
安全防御之授权和访问控制技术
授权和访问控制技术是安全防御中的重要组成部分,主要用于管理和限制对系统资源(如数据、应用程序等)的访问。授权控制用户可访问和操作的系统资源,而访问控制技术则负责在授权的基础上,确保只有经过授权的用户才能访问相应的资源。
1145 0
|
7月前
|
人工智能 安全 机器人
OpenClaw养虾笔记-入门教程
OpenClaw让智能体更进了一步,相较于传统LLM的一问一答方式,其优点在于,能便捷的扩展海量工具,也支持集成用户自己开发的工具、脚本,还能自行拆解复杂任务成工作流,完成工作流的设计和开发。并能将拆解的工作流或者用户自己的工作流串接成完整的流水线,每个环节调用不同的skills,完成复杂任务。除了能24小时持续工作外,甚至还能进行自我迭代改进。新手最大的困惑是安装了,也不清楚下一步该怎么办,本文描述从0开始构建OpenClaw,让龙虾在工作和生活中发挥作用。
|
机器学习/深度学习 搜索推荐 算法
“个性化推荐API:动态匹配用户需求,提高客单价”
个性化推荐API通过分析用户行为数据,实时生成定制化推荐,核心价值在于动态匹配需求、提升转化率与客单价。其逻辑基于协同过滤与深度学习算法,结合库存和营销策略优化推荐结果。技术落地需完成数据埋点、算法配置及AB测试,效果评估则关注CTR、转化率等指标。除电商外,该API还适用于内容平台、旅游预订及B2B采购等领域,助力企业扩展商业边界并实现收入增长。
|
10月前
|
数据采集 人工智能 运维
2026年优质数据治理厂商及产品深度解析,助力企业数字化转型
在数字经济时代,数据治理成为释放数据价值的关键。本文深度解析瓴羊Dataphin、字节Dataleap、奇点云DataSimba等主流数据治理产品,从场景适配、技术实力、合规安全等维度提供选型建议,助力企业破解数据孤岛、质量与合规难题,实现数字化转型科学决策。
|
缓存 人工智能 算法
深度揭秘复杂异构硬件推理优化
本文介绍了大语言模型在部署推理层面的性能优化工作,涵盖高性能算子、量化压缩、高效运行时及分布式调度四个方面。面对参数和上下文规模增长带来的显存、缓存与计算开销挑战,文中详细探讨了如何通过优化算子性能、低精度量化压缩、异步运行时框架设计以及多层次分布式架构来提升大模型推理效率。此外,还展示了BladeLLM引擎框架的实际应用效果,证明了这些技术在高并发场景下的显著性能提升。
|
机器人 数据中心
Dataphin功能Tips系列(79)精准获知标准更新动态,协同治理更高效
Dataphin支持数据标准变更订阅,可实时通过站内信、邮箱或钉群机器人通知相关人员,确保业务及时响应。用户可通过标准列表、个人中心等入口批量订阅,变更消息包含状态、版本及跳转链接,便于快速查看与处理。
403 8
|
搜索推荐 Windows
Axure RP 9高手速成秘籍:解锁终极快捷键,设计效率飙升10倍!
Axure RP 9作为一款功能强大的原型设计工具,提供了丰富的快捷键来加速设计流程。以下是一份详尽的Axure RP 9快捷键大全,旨在帮助用户更高效地完成设计工作。
1017 2
|
开发框架 JSON API
Python中FastAPI项目使用 Annotated的参数设计
Python中FastAPI项目使用 Annotated的参数设计