The experimental prepared-result cache in ProxySQL 3.1.12/4.0.12 prereleases has protocol limits: MySQL cursor executions and PostgreSQL named portals bypass it. Preparing a read does not make every execution cacheable.
proxysql.com/blog/announcing…
During RDS MySQL Blue/Green post-processing, ProxySQL 3.0.10 removes idle backend connections to the old servers. In-use connections are marked non-reusable and destroyed when released. Applications must still handle disconnects.
proxysql.com/blog/proxysql-3…
MariaDB commits the order, but a replica hasn't applied it yet. The customer sees an empty history. ProxySQL 3.0.12 can route that session's read using the tracked write position and replica progress. Setup and limits:
proxysql.com/blog/proxysql-m…
ParserSQL's parse_all() identifies SQL statement boundaries with the tokenizer.
The documented batch:
BEGIN READ ONLY; SELECT ';'; COMMIT
contains three statements. The semicolon inside the string stays inside the SELECT.
Each returned record carries a source span, byte offset and parse result. Malformed statements remain visible, and scanning can continue at the next lexical boundary.
This API was introduced in 1.1.0 and is included in 1.1.1. Keep the input and parser arena alive while using the results. Also inspect each result: batch.ok() alone does not guarantee a deep AST for every statement.
github.com/ProxySQL/ParserSQ…
ProxySQL 3.0.12 embeds OpenSSL 3.5.7 in the executable. Updating the host's OpenSSL package alone does not update that embedded copy. Include the ProxySQL binary in your dependency-upgrade plan.
proxysql.com/blog/announcing…
ProxySQL 3.0.12 Stable is out, alongside the 3.1.12 and 4.0.12 prereleases. All three fix eight published security issues: four high severity and four medium. Read the announcement and plan your Stable upgrade.
proxysql.com/blog/announcing…
If your code walks ParserSQL transaction ASTs, check the 1.1.1 migration notes.
NODE_SET_TRANSACTION now represents each characteristic with a NODE_TRANSACTION_OPTION child. A scope, when present, is the optional first child, represented by NODE_IDENTIFIER.
A walker written for the old characteristic layout needs updating. The node values are canonical, while retained source text preserves original spelling.
Affected SET digests also change. Rebuild the integration and review both tree expectations and any stored digest-based rules.
github.com/ProxySQL/ParserSQ…
ParserSQL 1.1.1 corrects SET parsing, emitted SQL and digests for MySQL and PostgreSQL.
For an integration upgrade:
• Check scoped MySQL SET TRANSACTION statements and multiple transaction characteristics.
• Check PostgreSQL SET ROLE, SESSION AUTHORIZATION, CONSTRAINTS and multi-value search_path.
• Review rules or statistics keyed on affected digests.
• Update AST walkers to use NODE_TRANSACTION_OPTION for transaction characteristics.
The release also retains the grammar and AST APIs introduced in 1.1.0. Full details and validation results are in the release notes.
github.com/ProxySQL/ParserSQ…
Setting up RDS MySQL Blue/Green in ProxySQL 3.0.10? The replacement writer is discovered automatically with the configured hostgroup mapping. Add replacement readers manually: AWS topology data doesn't provide their mappings.
proxysql.com/blog/proxysql-3…
ProxySQL 2.7.4 fixes transaction-state loss after failed prepared-statement execution: a backend with an open transaction must stay associated with it, and ROLLBACK must reach the backend.
2.7 users: review the update.
proxysql.com/blog/announcing…
ProxySQL 3.0.10 supports Blue/Green Deployments for RDS MySQL Multi-AZ DB instances. Test selected traffic against the replacement environment, then route to it after AWS promotion without waiting for DNS propagation.
Setup guide:
proxysql.com/blog/proxysql-3…
ProxySQL 2.7.4 hardens MySQL authentication, packet parsing, compressed traffic and prepared statements. It also fixes PROXY protocol v1 handling.
Earlier 2.7 deployments should upgrade. Advisories and packages:
github.com/sysown/proxysql/r…
ProxySQL 2.7.4 is out: security and severe bug fixes for the 2.7 LTS series. No new features.
Running an earlier 2.7 release? Prioritize this update.
proxysql.com/blog/announcing…
Our ProxySQL scheduling work includes testing what happens around the queue:
• Backend capacity runs out
• Waiting clients disconnect
• Requests time out
• Connections become available again
We’re combining those behavior checks with runtime measurements and examining how idle connections and worker assignment interact with the scheduler.
Which pool-contention scenario would you like us to walk through next?
Connected clients and active work are different things.
ProxySQL already supports dedicated idle threads so idle connections can move away from active workers until needed.
Our scheduling work also improves worker-load estimates by counting sessions queued to resume, alongside active sessions.
That gives session placement a more complete picture of the work already heading toward each worker.
Need a local MariaDB replication environment to reproduce a problem?
Our dbdeployer update walks through downloading MariaDB 12.3.3, unpacking it, deploying a three-node replication sandbox, and running its replication test.
It also covers Galera, PostgreSQL, and adding ProxySQL to supported topologies with --with-proxysql.
Use a compatible host with the database runtime dependencies installed. The article includes prerequisites and links to the detailed guides.
Try the examples with dbdeployer v2.4.2:
proxysql.com/blog/dbdeployer…
#dbdeployer #DatabaseTesting
Putting requests in a queue is only part of connection-pool scheduling.
While a request waits, its client can disconnect, its timeout can expire, or its session can be terminated.
Our ProxySQL work handles those transitions explicitly—even behind a blocked queue head.
Waiting sessions are tracked separately, but remain subject to disconnect, timeout, and termination handling. A queue needs a reliable exit path.
A configuration change needs a return path: evidence of what each proxy replica is actually running.
The reconcile loop in our MySQL BR Conf presentation follows the change from a desired-state version, through the in-cluster agent and Kubernetes objects, to the operator applying it across the ProxySQL fleet.
Applied versions and per-replica sync status come back to the console. Runtime capture and drift reporting help expose differences between intended and running configuration.
The diagram and operational walkthrough are in the article, with the complete PDF:
proxysql.com/blog/mysql-br-c…
#ProxySQL #BYOC
75
The dbdeployer update also covers PostgreSQL work from v2.4.0 and v2.4.1:
• Corrected Debian package extraction and shared-file layout.
• Fixes for port collisions across sandbox deployments.
• Waiting for replicas to accept queries before deployment returns.
• A generated test_replication script to verify data flow.
• Placement and credential options for deploy postgresql.
Useful improvements when you're running several local environments or automating a test setup.
Examples and the broader release story:
proxysql.com/blog/dbdeployer…
#PostgreSQL #dbdeployer
A connection pool has a dependency built into it: waiting requests need connections that other sessions are still using.
That’s why processing order matters.
In ProxySQL’s updated scheduler, sessions holding backend connections run first. Queued requests then get another opportunity to acquire capacity before other work starts.
The design follows the resource lifecycle: let work progress, release connections, revisit the queue.

