2025

Updated at:

These release notes for PolarDB for PostgreSQL detail the updates in each minor engine version.

Note
  • You can view the minor engine version number in the console or by running the SHOW polardb_version; statement.

  • The minor engine version number for PolarDB for PostgreSQL was updated to a 6-digit format on February 26, 2024. For more information, see change overview.

2.0.14.19.38.0(December 2025)

New features

Description

Related documentation

Added compatibility with community PostgreSQL 14.19.

Community PostgreSQL 14.19

High-privilege accounts can now use the LOAD command to load a plugin.

-

Upgraded the pg_duckdb plugin to version 1.0.

-

Enhanced the query optimizer to push down filter conditions to a subquery at the qual (query condition) level. This improves complex query performance by filtering data earlier and reducing the data returned by the subquery.

-

In-Memory Column Index (IMCI)now supports table-level DDL synchronization.

-

A distributed cluster now supports parallel rebalancing.

-

Added support for the polar_sql_inception SQL audit plugin.

-

Performance optimizations

Description

Optimized the slow query log feature to directly embed parameters of a prepared statement in the SQL statement.

Bug fixes

Description

Fixed an issue where the pg_profile plugin incorrectly treated an empty string ('') as a NULL value during data processing, causing inaccurate statistical analysis.

Fixed an issue where the STATEMENT OUTLINE feature failed to correctly match and apply execution plan outlines for SQL statements that contain a subquery.

Fixed an issue that could cause a cluster to crash when you run a stored procedure that contains a ROLLBACK operation with parameters in extend mode for a fully encrypted database.

Fixed an issue that prevented a global index from being correctly initialized if you added the global index (ADD GLOBAL INDEX) and then modified a column type (ALTER TYPE) within the same transaction.

Fixed a memory leak in the SMgrRelation (storage manager relation) object.

Fixed an issue where a real-time materialized view that references a base table and includes an outer join (OUTER JOIN) might produce incorrect data calculations after a TRUNCATE operation on the base table.

Fixed an issue where the syslog logging channel failed to initialize under specific conditions.

2.0.14.18.37.0 (2025.10)

New features

Description

References

The spatio-temporal database (Ganos) is upgraded to version 7.8.

Release notes for the spatio-temporal database

Adds compatibility with community PostgreSQL 14.18.

Community PostgreSQL 14.18

Adds support for the pg_partman extension for managing partitioned tables.

pg_pathman (partition management)

Adds support for parallel migration during data rebalancing in a distributed cluster.

-

Adds support for the hypopg extension for virtual indexes.

hypopg (virtual index)

Adds support for more sharding placement policies for single-shard tables in a distributed cluster.

-

Adds a dynamic routing feature for In-Memory Column Index (IMCI). This feature allows the system to automatically select the row-oriented or column-oriented engine for execution based on query characteristics to ensure optimal performance.

-

Adds the feature to create an In-Memory Column Index (IMCI) for a materialized view. This accelerates complex analytical queries on materialized views and improves data analytics efficiency in hybrid transactional and analytical processing (HTAP) scenarios.

Use IMCIs to accelerate materialized view refresh

Adds the static pruning feature for IN clauses in a distributed cluster.

-

Adds the TSO service and its related APIs for a distributed cluster.

-

Adds a mechanism to prevent the global execution plan cache from caching a plan if the query plan includes a custom scan.

Global execution plan cache

Adds support for audit logs to print information about binding parameters in SQL statements that use the extended protocol.

-

Adds a distinction for the max_standby_streaming_delay parameter between read-only (RO) nodes and standby nodes.

-

Performance optimizations

Description

Optimizes the performance of the asynchronous lock replay mechanism.

Optimizes the data synchronization speed for In-Memory Column Index (IMCI) in UPSERT (INSERT ON CONFLICT) scenarios. This reduces the overhead of index maintenance during data writes and updates and improves the performance of real-time analytical queries.

Optimizes the CHECKPOINT process for In-Memory Column Index (IMCI). This reduces the impact of checkpoint operations on the performance of foreground services and enhances system stability under high write loads.

Optimizes the default loading mechanism of the pldebugger (debug stored procedures) extension. This avoids performance impacts in specific PL/pgSQL scenarios.

Bug fixes

Description

Fixes an issue where logical replication might end prematurely when catching up with incremental data during data rebalancing in a distributed cluster.

Fixes an issue where referenced tables in a distributed cluster might lose global consistency in specific scenarios.

Fixes an issue where incorrect visibility judgments might occur in a distributed cluster when the number of sub-transactions exceeds 64.

Fixes a counting error that might occur when QueueMonitor counts the number of tasks on each node in a distributed cluster.

Fixes an issue where the commit CSN might not be updated on specific paths when the Commit Sequence Number (CSN) is in generation-advancing mode.

Fixes an issue where the memory protection mechanism was not triggered correctly because of an error in calculating container memory usage (the memory of pfsd was incorrectly included). This enhances the stability and accuracy of resource management for the cluster under high memory loads.

2.0.14.17.36.0 (2025.09)

New features

Description

References

Adds compatibility with DynamoDB.

-

Adds support for attaching read-only (RO) nodes to a standby cluster. This feature allows the standby cluster to provide normal read-only services.

-

Performance optimizations

Description

Optimizes the query performance of parent tables in partitioned tables. You can now use scan hints, such as global index scan or local index scan, on parent tables to guide the optimizer to select more efficient execution plans.

Optimizes the performance of subqueries. The join condition in a subquery can be pushed down to the outer query by rewriting it with a LATERAL join, which improves execution efficiency.

Optimizes the execution performance of NOT IN sublinks by rewriting them as anti-joins to obtain better execution plans.

Optimizes the calculation performance of the pg_total_relation_size function, reducing system overhead when obtaining the relation size.

Bug fixes

Description

Fixes an adaptation issue of the vectorized engine on read-only nodes with columnstore indexes to ensure stable operation on such nodes.

Fixes a cluster crash that might occur during the scale-out of a serverless cluster. The crash is caused by parallel caching of an incorrect cache ID.

Fixes an issue where slab memory might continuously increase during the replay of a two-phase commit (2PC) transaction.

Fixes a loopback write issue that might occur during the write process of the csn cache.

Fixes an error that occurred when the DECODE function handled inconsistent data types in specific scenarios.

2.0.14.17.35.0 (2025.08)

New features

Description

References

Adds compatibility with DynamoDB.

-

Adds support for the unlogged table syntax.

-

Adds the postgresql_anonymizer extension, which provides powerful data masking capabilities.

-

Adds implicit conversion from the name type to the varchar type.

-

Adds the pg_permissions extension.

-

Adds support for deploying In-Memory Column Index (IMCI) on independent read-only nodes. This isolates transactional processing (TP) and analytical processing (AP) services on different nodes to ensure that they do not affect each other.

Enable and use IMCIs

Adds the feature that allows the query results of an In-Memory Column Index (IMCI) to be efficiently written to a row-oriented table using an INSERT INTO statement.

-

Makes queries on an In-Memory Column Index (IMCI) compatible with the date() function.

-

Adds support for querying VIEW on an In-Memory Column Index (IMCI).

-

Adds support for using collection type fields as OUT parameters.

Adds support for the empty file type in the UTL_FILE built-in package.

-

Adds support for using the same alias to reference columns of different tables in a JOIN conditional expression.

-

Performance optimizations

Description

Optimizes the data redistribution process for partitioned tables that use the shard split feature in a PolarDB for PostgreSQL distributed cluster. The execution efficiency of large-scale data redistribution is significantly improved by adjusting the order to first copy data and then create a primary key.

Optimizes the internal logic of NVL2 when it processes parameters of different data types.

Optimizes the selective use of the expression cache and cast cache in PL/SQL. This effectively resolves the issue of excessive memory consumption caused by these caches in short-transaction scenarios with frequent commits and enhances system stability in high-concurrency transaction processing.

Optimizes the logic of the relation size cache (RSC) for handling empty tables in DROP BUFFER operations. This reduces unnecessary resource overhead and improves operational efficiency.

Optimizes the comparison rules for implicit type conversion. The upgraded rules are more aligned with the intuition and logic of mixed calculations of strings and numbers, improving data comparison accuracy and SQL compatibility.

Optimizes the parallel replay feature to cover all database recovery scenarios.

Optimizes the query cost estimation model for partitioned tables (PTS). The optimized model provides more accurate cost estimates in scenarios with many partitions, helping the query optimizer select more efficient execution plans.

Optimizes the shared memory management of the stats collector process. By detaching the shared memory, the coupling between processes is reduced, and the stability and resource usage efficiency of the statistics collection system are improved.

Optimizes the I/O merging logic of the background checkpoint process.

Bug fixes

Description

Fixes a memory leak where slab memory might continuously increase during the replay of a two-phase commit transaction.

Fixes a cluster crash that might occur during data backup and recovery from Object Storage Service (OSS).

Fixes a cluster crash that might occur during the scale-out of a serverless cluster. The crash is caused by parallel caching of an incorrect cache ID.

Fixes an accounting issue with mapped_file in the resource manager. A check and handling mechanism for mapped_file resource leaks is added to improve the accuracy and stability of resource management.

Fixes an issue where the LSN iterator of the LogIndex might read an old log sequence number (LSN) in specific scenarios.

Fixes a logic bug in the relation size cache (RSC) feature when it processes global tablespaces.

Fixes a loading position issue with the pg_pathman partitioning extension to ensure that its configuration in the shared_preload_libraries parameter is correctly parsed and loaded.

Fixes an issue where the access condition for system tables was missing in the password_encryption check hook.

Fixes an issue where a subsequent call failed because the recreation of an expired record cache in a package failed.

Fixes an issue where an autonomous transaction could not be executed normally when it was called in a SELECT query statement.

Fixes a memory leak in the on-demand replay feature of the LogIndex.

Fixes an issue where the shared memory parameter polar_forget_queue_shmem_size was incorrectly allocated because of a calculation error.

Fixes an issue where the rollback behavior was inconsistent with expectations when a transaction was rolled back to an existing savepoint with the same name.

Fixes an issue where polar_stat_proxy might cause an exception because it was not properly initialized.

2.0.14.17.34.0(July 2025)

New features

Description

References

You can now set the default index type for a partitioned table to either Global Index or Local Index.

Indexes on partitioned tables

Added support for partition pruning when the partition key uses C Collation and a LIKE prefix expression.

-

Performance optimizations

Description

Improved the prompts for creating a Bitmap Index.

Improved UPDATE performance on the vectorized engine .

Optimized the cost model for PartitionedTable Scan to provide more accurate estimates for tables with a large number of partitions.

Bug fixes

Description

Fixed an incorrect prompt for the polar_super_call_all_trigger_event parameter.

2.0.14.17.33.0 (June 2025)

New features

Description

References

Upgraded the Ganos spatio-temporal database to version 7.6.

Release notes for the spatio-temporal database

You can now modify the wal_sender_timeout parameter in the console to control the timeout for WAL streaming replication.

Set cluster parameters

You can now create an In-Memory Column Index (IMCI) for data of the ARRAY type.

Vectorized engine

You can now archive historical subpartitions of pg_pathman partitioned tables to OSS.

polar_alter_pathman_to_oss

The error log now includes search path information.

-

Updated the maximum length of a single audit log to 32 KB.

-

Performance optimizations

Description

Improved the execution speed of pg_switch_wal.

Fixed issues

Description

Fixed an issue in parallel replay where the XLOG_BTREE_REUSE_PAGE replay logic did not use the 64-bit FullTransactionId, which caused redundant replay conflict checks.

2.0.14.17.32.0 (May 2025)

New features

Description

References

Upgraded the Ganos spatio-temporal database to version 7.5.

Release notes for the spatio-temporal database

Now supports millisecond-level strong consistency reads on the vectorized engine.

Enable and use a columnstore index

Distributed Edition clusters now support HINT syntax.

-

Subqueries no longer require an alias.

-

Now supports ORDER BY and LIMIT clauses in DELETE and UPDATE statements.

-

Now supports UPSERT INTO.

-

Now supports explicitly converting timestamp with time zone data to the INT, FLOAT, and NUMERIC types.

-

Now supports automatic type deduction for arrays of the unknown type in INSERT and UPDATE statements.

-

Now supports IF and IFNULL syntax.

-

Fixed issues

Description

Fixed an issue where specifying a non-existent index in a HINT caused query failures or performance degradation.

2.0.14.15.31.0 (April 2025)

New features

Description

Related documents

The Ganos spatio-temporal database has been upgraded to version 7.4.

Release notes for the spatio-temporal database

2.0.14.15.30.0 (March 2025)

New features

Description

References

Added the polar_optimizer_enable_limit_adjust_cost parameter to control whether the optimizer uses limit information to generate an execution plan.

Set cluster parameters

Deferred the wait for synchronous DDL operations to the transaction commit phase.

None

Fixed issues

Description

Fixed an issue where a Global Index error could occur during a cross-partition update and partition pruning.

Fixed an issue where attaching a subpartition could fail if a Global Index was used as a foreign key.

Disabled attaching a foreign table to a partitioned table with a Global Index.

2.0.14.15.29.0 (February 2025)

New features

Description

References

Added support for community PostgreSQL 14.15.

Community PostgreSQL 14.15

Upgraded the Ganos spatio-temporal database to version 7.3.

Release notes for the spatio-temporal database

You can now modify parameters for cost based query transformation (CBQT) in the console.

Cost Based Query Transformation (CBQT)

Performance optimizations

Description

Optimized the COPY operation during data migration, reducing write blocking time.

2.0.14.13.28.0 (January 2025)

New features

Description

References

Added the PolarDB for AI extension, which integrates advanced AI models and algorithms, enabling the database to perform machine learning and natural language processing.

PolarDB for AI

Added support for the statement outline feature, which automatically adds hints to specific types of SQL statements to control their execution plans precisely without affecting business applications.

Statement outline (statement outline)

Added support for the cost-based query transformation (CBQT) framework, which improves the execution efficiency of certain complex queries by rewriting them based on cost.

Cost based query transformation (CBQT)

Added support for subquery pushdown, a query rewrite feature that improves the execution efficiency of SQL statements containing IN or ANY clauses.

Subquery pushdown

Upgraded the Ganos spatio-temporal database to version 7.2.

Release notes for the spatio-temporal database

The vectorized engine now supports partitioned tables managed by pg_pathman, allowing you to create and delete columnstore indexes on these tables and use features such as columnstore query acceleration and tuning.

Upgraded the wal2json extension to version 2.6.

wal2json (decode to JSON)

You can now modify the intervalstyle parameter in the console.

Set cluster parameters

You can now modify the cron.timezone parameter for the pg_cron extension in the console.

pg_cron (scheduled task)

Tiered storage now supports the bigint (millisecond) type for timeline-based data archiving.

Cold data tiered storage

During concurrent update or delete operations on a partitioned table with a global index, the system now waits for a row lock held by another transaction to be released. After the lock is released, the system obtains the latest row version, re-evaluates the conditions, and executes the operation.

None

Performance optimizations

Description

References

Added support for iterative scanning of vector indexes.

PGVector (vector retrieval)

Fixed issues

Description

Fixed an issue where index recommendations were not provided for JOIN scenarios.

Fixed an issue where the cost of global indexes was overestimated in some scenarios.

Fixed a potential out-of-memory (OOM) issue during bulk write operations in distributed queries on tables with large rows (more than 4 MB per row).

Fixed an error that occurred when using the polar_advisor extension in a serverless cluster.