Skip to content

v3.0.0-alpha

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 30 Sep 10:49
· 103 commits to v3.0 since this release
42bb0cf

ProxySQL v3.0.0-Alpha Release Notes

Release date: 2024-09-23

We are excited to announce the release of ProxySQL v3.0.0-Alpha. This major version introduces PostgreSQL support as its primary feature, along with numerous improvements, bug fixes, and optimizations.

Major Features

PostgreSQL Support

  • Implemented support for PostgreSQL, enabling ProxySQL to act as a proxy for both MySQL and PostgreSQL databases. Default ports for PostgreSQL: 6132 for admin portal and 6133 for PostgreSQL backend.
  • Added Plain Text and MD5 and SCRAM-SHA-256 authentication method for PostgreSQL.
  • Introduced PostgreSQL-specific configuration options and tables.
  • Introduced SSL connection support for both PostgreSQL frontend and backend connections.
  • Implemented multiplexing for PostgreSQL.
  • Enabled connection reuse from the connection pool.
  • Added support for executing multiple statements within a single query.

Improvements and Optimizations

Query Processing and Performance

  • Refactored Query Processor Architecture, introducing separate query processors for MySQL and PostgreSQL.
  • Improved handling of malformed packets and transaction detection.
  • Optimized buffer functionality in PgSQL_Query_Result.
  • Enhanced the performance of the packing process.

Configuration and Administration

  • Added new variables for PostgreSQL:

    • pgsql-authentication_method: Defines the authentication method to be used in ProxySQL for PostgreSQL. The available options are:
      0: NO PASSWORD (Not supported)
      1: CLEAR TEXT PASSWORD
      2: MD5 PASSWORD
      3: SCRAM-SHA-256
      4: SCRAM-SHA-256-PLUS (Not supported)
      Default authentication method is SCRAM-SHA-256 (3)

    • pgsql-default_client_encoding: Specifies the default client encoding to be used if the client does not provide one.
      Default client encoding is ‘UTF8’

  • Added multiple new tables for PostgreSQL configuration:

    • pgsql_servers and runtime_pgsql_servers
    • pgsql_users and runtime_pgsql_users
    • pgsql_query_rules and runtime_pgsql_query_rules
    • stats_pgsql_client_host_cache
    • stats_pgsql_client_host_cache_reset
    • stats_pgsql_commands_counters
    • stats_pgsql_connection_pool
    • stats_pgsql_connection_pool_reset
    • stats_pgsql_errors
    • stats_pgsql_errors_reset
    • stats_pgsql_free_connections
    • stats_pgsql_global
    • stats_pgsql_processlist
      • Implemented SHOW FULL PGSQL PROCESSLIST command.
      • Implemented SHOW PGSQL PROCESSLIST command.
      • SHOW FULL PROCESSLIST and SHOW PROCESSLIST commands will continue to function for MySQL.
    • stats_pgsql_query_digest
    • stats_pgsql_query_digest_reset
    • stats_pgsql_query_rules
    • stats_pgsql_users

Monitoring and Debugging

  • Added new statistics tables for PostgreSQL connections and queries:
  • Improved error logging and debugging capabilities.
  • Introduced new timers for debugging purposes in Base_Thread.

Known Issues:

  • Prepared Statements and COPY in binary format: These features are not yet supported for PostgreSQL. This limitation will be addressed in future updates.

Upgrading

ProxySQL v3.0.0 is an alpha release and must not be used in production environments. This version is intended for testing and evaluation purposes only.

When testing ProxySQL v3.0.0, please note that this is a major version release and contains significant changes, particularly the addition of PostgreSQL backend support. We strongly encourage users to:

  1. Test thoroughly in isolated, non-production environments.
  2. Report any bugs or issues encountered during testing.
  3. Provide feedback on the new PostgreSQL support feature.

Do not attempt to upgrade production environments to this alpha release. Continue using the latest stable version for production workloads.

We appreciate your help in testing and improving ProxySQL. Your feedback during this alpha phase is crucial for ensuring the stability and reliability of future releases.

Hashes

SHA256s:

8247de531fbd15694d35a01a5afc83ecad97f42854b22d4aa35dc359de04ba5a  proxysql-3.0.0-1-almalinux8-clang.x86_64.rpm
ba71187d2a02d8108d5fd769ddc4ddb443b3e22acfd01630f160e33ca59cbb98  proxysql-3.0.0-1-almalinux8.x86_64.rpm
e9b11f6e7090e1f698aa78a31eaeec0c9dd26d99e4457eb0cb6b8b38c049910b  proxysql-3.0.0-1-almalinux9-clang.x86_64.rpm
c4daa233390236141602ce65c088d556bcc85dbea91f8e51896cb801c3895393  proxysql-3.0.0-1-almalinux9.x86_64.rpm
50d0ce140fd4d5dc0f6d9c570a69b8b443cd7b369e5ff8862a406d46b94c239c  proxysql-3.0.0-1-centos8-clang.x86_64.rpm
9ec8d89e079a5227b4113dacdfc0afc050949bad96164f1bbb6398917a2c8b7c  proxysql-3.0.0-1-centos8.x86_64.rpm
a5337b74ac48be81043aa1eddcda2da030df9bbad25ddb36a01c6119405e2a9f  proxysql-3.0.0-1-centos9-clang.x86_64.rpm
4555c655fc6d7e63e7b6db3a0b9e6cad2bfc18ee3e0af9b8b27e3213d114b87e  proxysql-3.0.0-1-centos9.x86_64.rpm
4049a89732ff79d46a3e392f4c811fcf877e37171189a14f0a3e64a83b139129  proxysql-3.0.0-1-dbg-almalinux8.x86_64.rpm
20697e6576920b4896b2780fe28ac0f5c456f23d5e8f4662497dd0b5dbc9c6d5  proxysql-3.0.0-1-dbg-almalinux9.x86_64.rpm
300f506b39d1889531c34b5cebe5b7a632b0898732f7a7d27b471e574f3e76d3  proxysql-3.0.0-1-dbg-centos8.x86_64.rpm
16c0eab2c10746fe1b454da03c32b7d57e584f2c02df649dd2ea683b93539f0d  proxysql-3.0.0-1-dbg-centos9.x86_64.rpm
ed7d26b85391709b51cb8fe37b1089502796c20e76b362c017d95b86ad6d5a3b  proxysql-3.0.0-1-dbg-fedora38.x86_64.rpm
2b4483b00461d8c0ec17e387d4274b71331b944bb4eddef6069e23578b88914c  proxysql-3.0.0-1-dbg-fedora39.x86_64.rpm
8755163a82c8a52f7a53f811b234984e894989b2d0a150f9a4fc82aa3d663e73  proxysql-3.0.0-1-dbg-fedora40.x86_64.rpm
674cca2ad964c559ae4ed98a00aad941d85bfdc24af72299d0d94cafa51cb11a  proxysql-3.0.0-1-dbg-fedora41.x86_64.rpm
c094d696a1dcfdb1d73b0ecb393e30c7ccb73307e08699aebd26b6e53bda5273  proxysql-3.0.0-1-dbg-opensuse15.x86_64.rpm
78086e38c686269325ea9f22a8ef153c7611e4a3cd301e3572af710bb3458aca  proxysql-3.0.0-1-fedora38-clang.x86_64.rpm
7a08812497983bf804f1cc621ac788885893d9e873b442fe0e8ad10002723a3e  proxysql-3.0.0-1-fedora38.x86_64.rpm
5eca4be98eecae0821e5fa9725510b7d573234ae5f14211537e63a57edb2c367  proxysql-3.0.0-1-fedora39-clang.x86_64.rpm
11653c937b2590fd7fd688915e2bb9ce454b51994ec8d265f1ff2c4a3c0e0ca7  proxysql-3.0.0-1-fedora39.x86_64.rpm
99c59b47f3e7892aa727100790e5db7bd695804a67df29cb0c2a12f286855e6b  proxysql-3.0.0-1-fedora40-clang.x86_64.rpm
6c3e30101824f14c5e7faa585ca332614ffbcfd119e1602e2386ec9a404121fe  proxysql-3.0.0-1-fedora40.x86_64.rpm
f96bbb686c2aa4e3c182a33f9195da6db0766a90128cf26c8afd2832c67398c5  proxysql-3.0.0-1-fedora41-clang.x86_64.rpm
9c4bb8b1d4d1ce1d60456da38390875bf773b287dd91e4fa96113cd3752e23f4  proxysql-3.0.0-1-fedora41.x86_64.rpm
1c6ed5673e1bcdd4de7ac1b6a85d14b043177e0654e4c9a8c9b1e25fd16633b1  proxysql-3.0.0-1-opensuse15-clang.x86_64.rpm
1256ed33bc82d173a6347e7d4fc2bb2f6037c319c437a582ee946436517fe492  proxysql-3.0.0-1-opensuse15.x86_64.rpm
2f22f215a2588671d79e99e7f1f0f1ad75d617d5c21b56974625abd2d0b1e9ca  proxysql-3.0.0.id-hash
9879171d1d8d10932ddcb635fb44895b406f69f4499cf952571c8ad6e9a4c98d  proxysql_3.0.0-dbg-debian10_amd64.deb
268de8ce3ffa26f8d4ffcd462d16d17e875c526f2adc93616ca9f54a90ba3fe3  proxysql_3.0.0-dbg-debian11_amd64.deb
e2875a21d134a89de370c380b2d126ff72b37628f83d8efeddf925a536bd17f9  proxysql_3.0.0-dbg-debian12_amd64.deb
512b2218cd9f4f7063fb7338188d0d009c5025c1c9ae3fd07c95009de9587f03  proxysql_3.0.0-dbg-ubuntu18_amd64.deb
df775c669892453f8b984b48a9ca6ddd4222b8872647e2ef80a02b31fa011859  proxysql_3.0.0-dbg-ubuntu20_amd64.deb
93eed5de630b6b73a1b8c39f7cc7d93c9772526e1017fdc26e45484b91fb481a  proxysql_3.0.0-dbg-ubuntu22_amd64.deb
36d35747f552adbb7074a4f90c9e5659ac621faa7589ec666a6d2c2436e97f37  proxysql_3.0.0-dbg-ubuntu24_amd64.deb
5dfaf0b817597a489e58813628b8ad350db59c6d2b1ce6ffcc137dff4ece5476  proxysql_3.0.0-debian10_amd64.deb
78ed58076b5d6861bfeaf2a02c19a3f51e0632357b95fc940a3630f22f8d5958  proxysql_3.0.0-debian11-clang_amd64.deb
9ee58b6c6d95c0b1f6ca43dde5cc08e5b4c6f3efa3d8e9b5e966b1b10bd2540c  proxysql_3.0.0-debian11_amd64.deb
ded1f9cd7eccb0e15dd003e0f2ae767d28ed90754a9f5a8792d1a04e07d14569  proxysql_3.0.0-debian12-clang_amd64.deb
fcb319d3a2d43bd4adb5b7734f74501da688f97d61c1ac027e5cc631dd2d3e3e  proxysql_3.0.0-debian12_amd64.deb
3e0f5eab8d1894cfd8a0dc6b873c3d5a9cfe0da15b1dfae52f81497bbad35e01  proxysql_3.0.0-ubuntu18_amd64.deb
ed863df63fae43c7ae27751a43ab000d5b8d35eccb248fb0d8a0bb5901374ee9  proxysql_3.0.0-ubuntu20-clang_amd64.deb
053bda1a65b4ef0b4c2a2c8b64db82050f1c7dea36d7c44797545b4adf55b18a  proxysql_3.0.0-ubuntu20_amd64.deb
e828b3ca219808a42f82d45cdda407f6678b55336c18e6d19fd00403315ffbb0  proxysql_3.0.0-ubuntu22-clang_amd64.deb
6b885f89280e0b40ebc0cfc106b2db0dcb2c3030bcfa464fd5432cd93eed1d6c  proxysql_3.0.0-ubuntu22_amd64.deb
901a0a6f021ca6c6e97379935ef71cc46346aa4df238a99addcb527301a28f13  proxysql_3.0.0-ubuntu24-clang_amd64.deb
1163a86071c74dc89075c2e242c06968dd93266e7562b1c7effc4296d87b323b  proxysql_3.0.0-ubuntu24_amd64.deb