2025年

本文介绍PolarDB PostgreSQL的产品功能动态,包括内核小版本的更新说明。

说明
  • 您可在控制台查看内核小版本号,也可以通过SHOW polardb_version;语句查看。

  • PolarDB PostgreSQL内核小版本号于2025226日更新为6位格式,您可查看变更内容确认变更细节。

2.0.14.17.36.02025.09

新增功能

说明

相关文档

新增DynamoDB兼容性能力。

-

新增支持在Standby集群上挂载只读(RO)节点。此功能允许Standby集群对外提供正常的只读服务。

-

性能优化

说明

优化分区表父表的查询性能,新增支持在其上使用扫描Hint,如global index scanlocal index scan,以指导优化器选择更高效的执行计划。

优化子查询的性能,新增通过LATERAL关联改写,实现将子查询中的连接条件下推到外部查询,从而提升执行效率。

优化NOT IN子链接的执行性能,新增将其上拉改写为反连接(Anti-Join)的策略,以获得更优的执行计划。

优化pg_total_relation_size函数的计算性能,减少了在获取关系大小时的系统开销。

缺陷修复

说明

修复向量化引擎在列存索引只读节点上的适配问题,确保其在该类节点上稳定运行。

修复Serverless集群在扩容期间,因并行缓存下刷错误的缓存ID而可能导致的集群崩溃问题。

修复在回放两阶段事务(2PC)过程中,可能导致slab内存持续上涨的问题。

修复csn cache在写入过程中可能出现的环回写入问题。

修复DECODE函数在特定场景下处理数据类型不一致而报错的问题。

2.0.14.17.35.02025.08

新增功能

说明

相关文档

新增DynamoDB兼容性能力。

-

新增支持unlogged table语法。

-

新增postgresql_anonymizer扩展,用于提供强大的数据脱敏能力。

-

新增name类型到varchar类型的隐式转换。

-

新增pg_permissions插件。

-

新增支持列存索引(IMCI)的独立只读节点部署形式,实现TP(事务)与AP(分析)业务在不同节点上的相互隔离,确保彼此之间互不影响。

开启和使用列存索引

新增列存索引(IMCI)的查询结果能够通过INSERT INTO语句高效地写入行存表。

-

新增列存索引(IMCI)的查询兼容date()函数。

-

新增列存索引(IMCI)支持视图VIEW查询。

-

新增支持集合类型字段作为OUT参数。

新增UTL_FILE内置包支持空的文件类型。

-

新增支持在JOIN条件表达式中使用同名别名引用不同表列。

-

性能优化

说明

优化PolarDB PostgreSQL分布式版集群下使用shard split功能进行分区表数据重分布的流程。通过调整为先执行数据拷贝(COPY)再创建主键(PRIMARY KEY)的顺序,显著提升了大规模数据重分布操作的执行效率。

优化NVL2在处理不同数据类型参数时的内部逻辑。

优化PL/SQL中选择性是否使用表达式缓存(expression cache)与类型转换缓存(cast cache),有效解决了在频繁提交的短事务场景下,这两类缓存可能导致的内存过度消耗问题,增强了系统在高并发事务处理下的稳定性。

优化表大小缓存(RSC)DROP BUFFER操作中对空表的处理逻辑,减少了不必要的资源开销,提升了操作效率。

优化隐式类型转换的比较规则。升级后的规则更符合字符串与数字混合计算的直觉和逻辑,提升了数据比较的准确性和SQL兼容性。

优化并行回放功能,使其覆盖所有数据库恢复(recovery)场景。

优化分区表(PTS)的查询代价估算模型。优化后的模型在分区数量非常多的场景下能够提供更精准的代价估算,帮助查询优化器选择更高效的执行计划。

优化stats collector进程的共享内存管理。通过分离(detach)共享内存,降低了进程间的耦合度,提升了统计信息收集系统的稳定性和资源使用效率。

优化后台刷脏(checkpoint)进程的I/O合并逻辑。

缺陷修复

说明

修复在回放两阶段提交事务的过程中,可能导致slab内存持续上涨的内存泄漏问题。

修复从对象存储(OSS)进行数据备份恢复时,有概率发生集群崩溃的问题。

修复在Serverless形态下,集群扩容过程中由于并行缓存刷入了错误的缓存ID而可能引发集群崩溃的问题。

修复资源管理器中关于mapped_file的记账问题,增加了对mapped_file资源泄漏的检查和处理机制,增强了资源管理的准确性和稳定性。

修复日志索引(LogIndex)的LSN迭代器在特定场景下可能读取到旧的LSN(日志序列号)的问题。

修复表大小缓存(RSC)功能在处理全局表空间时的逻辑缺陷问题。

修复pg_pathman分区插件的加载位置问题,确保其在shared_preload_libraries参数中的配置能被正确解析和加载。

修复密码加密检查钩子(password_encryption checkhook)中缺少对系统表的访问条件的问题。

修复当包(package)中的record缓存失效时,重建失败导致后续调用出错的问题。

修复在SELECT查询语句中调用自治事务时,自治事务无法正常执行的问题。

修复日志索引(LogIndex)的按需回放功能中存在的内存泄漏问题。

修复共享内存参数polar_forget_queue_shmem_size因计算错误导致分配大小不正确的问题。

修复当事务回滚(rollback)到一个已存在的同名保存点(SAVEPOINT)时,回滚行为与预期不一致的问题。

修复polar_stat_proxy因未正确初始化而可能引发异常的问题。

2.0.14.17.34.02025.07

新增功能

说明

相关文档

支持切换分区表默认创建的索引类型,可设置为Global IndexLocal Index

分区表索引

支持在分区键为C Collation且使用LIKE前缀表达式的情况下,能够进行分区裁剪。

-

性能优化

说明

优化Bitmap Index创建提示。

优化向量化引擎UPDATE的执行效率。

优化分区表计划加速(PartitionedTable Scan)的代价模型,使其在分区数较多的场景下估计的更加准确。

缺陷修复

说明

修改polar_super_call_all_trigger_event参数提示信息错误的问题。

2.0.14.17.33.0(2025.06

新增功能

说明

相关文档

时空数据库(Ganos)升级至7.6版本。

时空数据库版本发布记录

支持在控制台修改wal_sender_timeout参数,该参数用于控制WAL流复制的超时时间。

设置集群参数

支持为ARRAY类型数据创建列存索引。

向量化引擎

支持将pg_pathman分区表的历史子分区表转为OSS存储。

polar_alter_pathman_to_oss

支持在错误日志中输出Search Path信息。

单条审计日志的长度更新为32 KB。

性能优化

说明

提升pg_switch_wal执行速度。

缺陷修复

说明

修复并行回放中XLOG_BTREE_REUSE_PAGE回放逻辑未使用64FullTransactionId,从而导致重复执行回放冲突检查的问题。

2.0.14.17.32.0(2025.05

新增功能

说明

相关文档

时空数据库(Ganos)升级至7.5版本。

时空数据库版本发布记录

向量化引擎强一致性读的时间设置为毫秒(ms)级别。

开启和使用列存索引

分布式版集群支持HINT语法。

支持子查询(subquery)在执行时无需强制指定别名。

支持DELETEUPDATE语句中使用ORDER BYLIMIT子句。

支持UPSERT INTO功能。

支持将timestamp(tz)类型数据显式转换为INT、FLOATNUMERIC类型的功能。

支持INSERTUPDATE中空(unknown)数组类型的自动推导。

支持IFIFNULL语法。

缺陷修复

说明

HINT支持指定不存在的索引,配置错误导致的查询失败或性能下降问题。

2.0.14.15.31.0(2025.04

新增功能

说明

相关文档

时空数据库(Ganos)升级至7.4版本。

时空数据库版本发布记录

2.0.14.15.30.0(2025.03

新增功能

说明

相关文档

新增polar_optimizer_enable_limit_adjust_cost参数,用于控制优化器使用limit信息生成计划。

设置集群参数

将同步DDL的等待延迟到提交事务阶段。

缺陷修复

说明

修复在跨分区更新及分区裁剪场景下可能出现的Global Index报错问题。

修复在Global Index作为外键的情况下,Attach子分区可能出现错误的问题。

禁止在包含Global Index的分区表上Attach外表。

2.0.14.15.29.0(2025.02

新增功能

说明

相关文档

兼容社区PostgreSQL 14.15版本。

社区PostgreSQL 14.15

时空数据库(Ganos)升级至7.3版本。

时空数据库版本发布记录

支持在控制台修改基于代价的查询变换(CBQT)相关参数。

基于代价的查询变换(CBQT)

性能优化

说明

提升数据迁移过程中COPY操作的效率,减少写入阻塞时间。

2.0.14.13.28.0(2025.01

新增功能

说明

相关文档

新增Polar_AI扩展,集成先进的AI模型和算法,使得数据库能够执行机器学习和自然语言处理等任务。

PolarDB for AI

支持计划固定(STATEMENT OUTLINE)功能,为某类SQL自动增加HINT,在不影响业务应用程序的情况下,精确控制SQL执行计划。

计划固定(STATEMENT OUTLINE)

支持基于代价的查询变换(CBQT,Cost Based Query Transformation)框架,能够基于代价的查询变换,大幅提升某些复杂查询的执行效率。

基于代价的查询变换(CBQT)

支持子连接下推的查询改写功能,能够提升含有IN/ANY子句的SQL的执行效率。

子连接下推

时空数据库(Ganos)升级至7.2版本。

时空数据库版本发布记录

向量化引擎支持由pg_pathman管理的分区表,允许在该类型的表上进行列存索引的创建与删除,并提供列存查询加速调优等功能。

wal2json插件更新至2.6版本。

wal2json(解码为JSON)

支持在控制台修改intervalstyle参数。

设置集群参数

支持在控制台修改pg_cron插件时区参数cron.timezone

pg_cron(定时任务)

分层存储按时间线归档时支持bigint(毫秒)类型

冷数据分层存储

支持在使用全局索引的分区表中进行并发更新或删除的场景下,通过行锁等待后获取最新的数据行,并基于该最新行进行条件计算,然后执行相应的操作。

性能优化

说明

相关文档

支持向量索引迭代扫描。

PGVector(向量检索)

缺陷修复

说明

修复索引推荐在JOIN场景下未推荐索引的问题。

修复全局索引在某些场景下的代价高估问题。

修复分布式查询超长行(单行超 4MB)表时bulk write可能的OOM问题。

修复polar_advisor插件在Serverless集群使用时的报错问题。