All Products
Search
Document Center

PolarDB:Database proxy release notes

Last Updated:Nov 25, 2025

This topic describes the release notes for the database proxy in and PolarDB for PostgreSQL (Compatible with Oracle).

2.3.59 (Release date: 2025-08-04)

Category

Description

New feature and performance optimization

Added compatibility for custom endpoints with DynamoDB APIs.

Fixed issues

Fixed an issue where database connection requests were held while a database node was suspended, causing the connection pool to become full.

Fixed an issue where internal errors were improperly replayed after a function such as nextval failed, causing session errors.

Fixed an issue in connection pool mode where data tables could not be found because the search_path parameter was not strictly matched.

Fixed an issue where the incorrect replay of session parameters caused subsequent session commands to be replayed incorrectly.

Fixed an issue in read/write splitting scenarios where the results of some UNION ALL queries were incorrectly routed to the primary (RW) node.

2.3.58 (Release date: 2025-06-06)

Category

Description

New features and performance optimizations

  • Optimized the connection reuse rate for the transaction-level connection pool when the extended query protocol is used.

  • Made persistent connections compatible with the transaction-level connection pool.

Fixed issues

  • Fixed an issue where startup session parameters did not take effect in transaction-level connection pool mode.

  • Fixed an issue in transaction-level connection pool mode where connections in a Transaction Error state entered the connection pool and affected other sessions.

  • Fixed an issue where newly added SQL throttling rules did not apply to existing connections.

  • Fixed an issue where SQL throttling did not work after the proxy restarted unexpectedly.

  • Fixed an issue caused by incorrectly replaying statements after routing. This prevents errors such as duplicate prepared statements when functions like nextval fail and are replayed.

2.3.57 (Release date: 2025-03-25)

Category

Description

Fixed issue

Fixed issues related to the on-demand replay of Parse and Prepare statements.

2.3.56 (Release date: 2025-02-14)

Category

Description

New features and performance optimizations

  • Added support for on-demand replay of Parse and Prepare statements to convert broadcast mode to unicast mode.

  • Added support for SQL throttling template validation.

  • Added support for dynamic configuration of Send Buffer and Receive Buffer sizes.

Fixed issue

Fixed an issue where connections that use TLS 1.0 failed in a Java Database Connectivity (JDBC) environment.

2.3.54 (Release date: 2024-09-24)

Category

Description

New features and performance optimizations

  • Added the SQL throttling feature.

  • Added support for on-demand connections.

Fixed issues

  • Fixed an issue where multi-statement queries could not be parsed correctly, which caused routing errors.

  • Fixed an issue where incorrect handling of parameter values during the replay of list-type parameters, such as search_path, caused the configuration to become invalid.

2.3.53 (Release date: 2024-08-16)

Category

Description

New feature and performance optimization

Optimized the forwarding performance for short transactions.

Fixed issues

  • Fixed an issue where node routing could not be selected for a read-only endpoint that uses active request-based load balancing if the endpoint had high latency.

  • Fixed an issue where SQL statements that access the dual table in Oracle-compatible versions could not be routed to read-only nodes.

  • Fixed an issue where a connection might be closed if a Parse message failed to be replayed in some cases.

  • Fixed a potential memory leak that could occur if a Prepare statement failed to execute.

2.3.52 (Release date: 2024-07-03)

Category

Description

New feature and performance optimization

Global consistency is a supported consistency level.

Fixed issues

  • Fixed an issue where the database proxy would crash due to a stack overflow if the database returned a large Error Msg.

  • Fixed a potential conflict when enabling or disabling the advanced transaction splitting feature for multiple custom endpoints.

  • Fixed an issue where messages of mixed protocols could not be parsed.

  • Fixed a memory leak caused by the logic related to Close messages not releasing memory correctly.

2.3.51 (Release date: 2024-05-28)

Category

Description

New features and performance optimizations

  • Added support for mutual authentication, forced SSL, Certificate Revocation List (CRL), and TLS 1.3 for SSL connections.

  • Added support for message splitting.

  • Added support for master_failure_mode, which allows read-only nodes to continue service when the primary node is disconnected.

  • Added the enable_master_retry_req parameter with a default value of false. Requests that fail on read-only nodes are no longer forwarded to the primary node.

  • Optimized the replay logic. Parse and Close messages are now combined and sent in a single operation during replay.

  • Allowed connections to be established even if authentication fails on a read-only node, as long as it succeeds on the primary node.

Fixed issues

  • Fixed an issue where Parse messages marked as master_read were not sent to other nodes.

  • Fixed an issue where the type_mask type in a Prepare statement was not recognized when using the Deallocate statement to release resources.

  • Fixed an issue where the length of the is_superuser array was set incorrectly.

  • Fixed an issue where an incorrect error message was returned upon permission verification failure.

  • Fixed a crash that occurred when SSL was enabled without passing the ssl_version parameter.

  • Fixed a crash caused by not promptly terminating the processing of an abnormal authentication package.

2.3.50 (Release date: 2024-03-29)

Category

Description

New features and performance optimizations

  • Added support for persistent connections.

  • Enhanced the read/write splitting routing capability for SQL statements that contain functions.

Fixed issues

  • Fixed an issue where the transaction status was inconsistent with the primary node after a read-only node disconnected and reconnected.

  • Fixed an issue in connection pool mode where connections on read-only nodes might not be returned to the pool.

2.3.49 (Release date: 2024-02-05)

Category

Description

Fixed issues

  • Fixed a bug that caused inconsistent transaction status on read-only endpoints.

  • Fixed two existing memory leaks.

  • Fixed an out-of-bounds issue for C-type strings when parsing startup messages.

2.3.48 (Release date: 2024-01-19)

Category

Description

New feature and performance optimization

Added support for active request-based load balancing for read-only endpoints.

Fixed issues

  • Fixed an issue in the transaction-level connection pool where using MySQL functions to determine PostgreSQL message types caused messages to be discarded.

  • Fixed an issue where calling the /v1/maxscale API to adjust the threads parameter in version 2.3.47 caused a kernel crash.

2.3.47 (Release date: 2023-08-31)

Category

Description

Fixed issue

Fixed a connection reuse issue in the transaction-level connection pool that occurred when a statement in a transaction failed to execute.

2.3.46 (Release date: 2023-08-08)

Category

Description

New feature and performance optimization

Added support for transaction-level connection pooling.

Fixed issue

Fixed an issue where read-only endpoints would crash.

2.3.34 (Release date: 2023-06-06)

Category

Description

New feature and performance optimization

Added support for the /*force_session_to_master*/ hint to ensure all requests in a session are routed to the primary node.

Fixed issues

  • Fixed an issue of unbalanced loads when using the LRU algorithm.

  • Fixed an issue where /*force_master*/ did not take effect if an SQL statement contained special characters such as \t\n.

  • Fixed a memory leak that occurred during PostgreSQL authentication.

  • Fixed an issue where read-only endpoints would crash.

2.3.33 (Release date: 2022-11-16)

Category

Description

Fixed issues

  • Fixed an issue of unbalanced loads on read-only endpoints.

  • Fixed a crash that occurred when a cluster had more than 32 CPU cores.

2.3.31 (Release date: 2022-08-11)

Category

Description

Fixed issues

  • Made the control plane compatible with PolarDB for PostgreSQL 14 when refreshing configurations.

  • The database now validates the IP address and port of the database proxy when pgmon probes the database.

  • Function names in the whitelist are now case-insensitive.

  • Requesting the number of whitelists does not trigger the database proxy to continuously pull the whitelist.

2.3.28 (Release date: 2022-02-21)

Category

Description

New feature and performance optimization

Added support for graceful restart of database instances.

Fixed issue

Optimized transaction splitting. The transaction splitting switch on the proxy now controls the switch behavior on the database.

2.3.26 (Release date: 2021-09-16)

Category

Description

Fixed issue

Set parameters related to TCP KeepAlive in the database proxy instead of using system parameters. This ensures that TCP KeepAlive behaves consistently across different environments.

2.3.25 (Release date: 2021-09-07)

Category

Description

Fixed issues

  • Optimized Parse messages. Parse messages with write attributes are no longer broadcast to read-only nodes.

  • Optimized the routing of global temporary tables.

  • Optimized the information management for table name and function name whitelists.

  • Changed the unit of read-only delay time to milliseconds, with a default value of 300 ms.

2.3.24 (Release date: 2021-09-01)

Category

Description

Fixed issue

Read-only endpoints no longer need to check the message length.

2.3.23 (Release date: 2021-06-03)

Category

Description

Fixed issues

  • A read-only node now remains in the Running state when a connection probe times out. For other probe failures, the node status is still changed.

  • If a connection probe to a read-only node times out, the backend will not establish a connection with this node when a client creates a new connection.

  • Added support for identifying and routing global temporary tables during routing.

  • Fixed an issue where many broadcast requests caused memory bloat.

2.3.21 (Release date: 2021-04-20)

Category

Description

New features and performance optimizations

  • The monitor can now view the values of internal database variables.

  • Added a switch to force routing to the primary database.

Fixed issues

  • Internal variables are now initialized based on the configuration when the monitor starts.

  • Added support for traffic throttling.

2.3.16 (Release date: 2021-02-22)

Category

Description

Fixed issues

  • In the process of splitting extended query messages, if consecutive E/v messages are encountered, the last E/v message is used as the boundary for splitting.

  • Extended query messages are not split by default.

  • Parameter information is now included when replaying Parse messages.

  • The monitor now establishes only one connection per probe cycle and uses this connection to probe other necessary information within that cycle.

2.3.15 (Release date: 2020-12-28)

Category

Description

Fixed issues

  • Optimized the routing whitelists for functions and tables. The `nextval` function was removed from the function whitelist, and some system tables were added to the table whitelist.

  • The routing node for Bind is now recorded. When Execute messages are routed separately, the routing is based on the recorded Bind node.

  • Extended Query is now split with Bind as the start boundary and Execute as the end boundary.

  • If a transaction routed to the primary database does not contain an Execute message, it is considered that no write operation occurred. Subsequent read requests can still be routed to a read-only database.

  • SYNC messages are no longer forcibly routed before all results for broadcast messages are received.

  • Fixed an issue where the client connection would be disconnected if a read-only node disconnected during connection establishment.

  • Added the enable_split_ext_pkts switch. When this switch is off, Extended Query message sequences are not split.

  • No requests are routed after the primary database connection is closed.

  • Fixed an issue where new requests would get stuck when all read-only nodes were unavailable.

  • Transaction start, commit, and rollback statements are now broadcast.

2.3.14 (Release date: 2020-09-29)

Category

Description

New feature and performance optimization

Added support for splitting read requests after write operations to read-only nodes for transactions at the RC isolation level.

Fixed issues

  • Optimized read-only node reconnection. After a read-only node is disconnected, it is not reconnected immediately. Instead, reconnection occurs after the next monitor probe confirms the node is healthy.

  • Fixed an issue where the primary node was not automatically added when the read/write endpoint was in a stopped state.

  • Fixed an issue where a message indicating that the database was unhealthy was returned to the client when a connection failed due to an unhealthy database.

2.3.12 (Release date: 2020-08-19)

Category

Description

Fixed issue

Fixed a dual-primary issue. When a new primary node is added, the flag of the old primary node is removed due to connection failure.

2.3.10 (Release date: 2020-06-29)

Category

Description

New feature and performance optimization

Added support for custom endpoints.

Fixed issues

  • If a read/write cluster endpoint does not have a primary node, the monitor automatically adds the primary node to the endpoint.

  • Fixed an issue where the connection would get stuck if a client sent a sync message after the proxy broadcast but before the read-only node returned a result.

2.3.8 (Release date: 2020-04-02)

Category

Description

Fixed issues

  • Split Extended Query message sequences. Sequences containing Begin or Set are extracted from repeated sequences and processed and sent separately.

  • In the transaction splitting process, if a connection transaction has started and is routed to a read-only node, the transaction status in the package must be changed to in transaction.

2.3.7 (Release date: 2020-03-20)

Category

Description

New feature and performance optimization

PostgreSQL now supports the transaction splitting feature.

Fixed issues

  • Before querying the whitelist table, check if the table exists. If it does not exist, the process of querying the whitelist content is skipped.

  • A multi-statement that contains only SET and read requests is no longer broadcast and is instead routed directly to the primary node.

2.3.6 (Release date: 2020-03-12)

Category

Description

New features and performance optimizations

  • Added support for automatic reconnection of read-only nodes. Read-only nodes can automatically reconnect after an abnormal disconnection.

  • Added support for dynamically adding nodes.

Fixed issues

  • Fixed an issue where the corresponding read-only connection was not disconnected when calling an API to delete a read-only node.

  • Added support for edb protocol messages.

  • If the proxy has not obtained a password when establishing a connection, it now first obtains a password from the database before connecting.

2.3.3 (Release date: 2020-02-13)

Category

Description

New feature and performance optimization

Added support for dynamic whitelists for function names and table names.

Fixed issue

Added JSON-related functions to the proxy's built-in function whitelist.

2.3.1 (Release date: 2020-02-04)

Category

Description

Fixed issues

  • The switch that allows the primary node to accept read operations is now off by default.

  • Fixed an issue where SSL blocked the proxy's main thread.

2.3.0 (Release date: 2020-01-03)

Category

Description

New features and performance optimizations

  • Added support for SSL.

  • Added support for synchronous connection establishment.

  • Added support for cancel request.

  • Added support for the monitor to probe database version information.

  • Added support for merging multi-node results for the pg_stat_activity, pg_locks, and pg_stat_ssl views.

Fixed issue

Fixed a memory leak in the parser.

2.2.2 (Release date: 2019-12-18)

Category

Description

Fixed issues

  • The execute statement now inherits the hint information from the prepare statement.

  • Fixed an issue where the primary node was not locked for SET operations in a stored procedure or transaction.

  • Fixed a crash that occurred when a query was made while the primary database did not accept reads and all read-only databases had a weight of zero.

  • Fixed an issue where allowing the primary database to accept reads affected old connections.

2.2.1 (Release date: 2019-11-13)

Category

Description

Fixed issues

  • TCP keepalive is now enabled after the TCP three-way handshake.

  • Added certain specific read request functions to the function whitelist.

2.2.0 (Release date: 2019-10-24)

Category

Description

New feature and performance optimization

Added hint syntax (/* force_master */ and /* force_slave */).

Fixed issues

  • Optimized multi-statement routing. The primary node is not locked if the statement only contains set and select.

  • The original request is now replayed to the primary node when a read-only node returns an error.

  • Fixed an issue where show statements were routed to the primary node.

2.1.0 (Release date: 2019-09-12)

Category

Description

Bug fixes

  • Added support for the PostgreSQL protocol.

  • The monitor can now probe the liveness status, primary/standby status, Log Sequence Number (LSN) offset, and replication delay (in microseconds) of a cluster.

  • Added support for the read/write splitting feature.

  • Added support for session-level and table-level read consistency. The table-level read consistency feature is disabled by default due to its many limitations. The session-level read consistency feature is enabled by default.