migrate to reactive postgres client (vertx-pg-client)
Description
Environment
Potential Workaround
blocks
is blocked by
relates to
Checklist
hideTestRail: Results
Activity

Adam Dickmeiss December 30, 2019 at 3:51 PM
In the process of moving Okapi to use vertx-pg-client.. It was fairly straightforward

Julian Ladisch December 14, 2018 at 10:28 AM
"Vert.x 3.6.x will be the last minor version of the 3.x release, it will remain LTS (until 12/2020) for bug fix releases and library version updates." https://github.com/vert-x3/wiki/wiki/Vert.x-Roadmap#vertx-36
We have two years to replace vertx-mysql-postgresql-client by reactive-pg-client in RMB PostgresClient.

Julian Ladisch December 10, 2018 at 8:36 AM
vertx-mysql-postgresql-client has been removed in Vert.x 4: https://github.com/vert-x3/vertx-mysql-postgresql-client/tree/master
vertx-mysql-postgresql-client is based on https://github.com/mauricio/postgresql-async which is not being maintained since January 2017.

Adam Dickmeiss October 2, 2018 at 12:56 PMEdited
Vert.x people are under their way to do this.. See https://github.com/vert-x3/vertx-mysql-postgresql-client/issues/125

Julian Ladisch September 10, 2018 at 3:44 PM
There is also https://vertx.io/blog/simplified-database-transaction-management-with-the-vert-x-rxjava-api/ .
I don't know what the difference is, what the pro & cons are.
Details
Assignee
Adam DickmeissAdam DickmeissReporter
Adam DickmeissAdam DickmeissLabels
Priority
P2Story Points
8Sprint
NoneDevelopment Team
Core: PlatformFix versions
TestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Assignee

Reporter

The new client
vertx-pg-client
) is shipped by default with vert.x 3.8, RMB however pins the client version to the customvertx-mysql-postgresql-client 3.5.1-FOLIO.1
(which fixes some connection sharing issues we have discovered with the client). The old client is still supported and available with vertx 3.8.Vert.x 4 will remove support for the old client. Vertx 4 milestone 1 announcement page: https://vertx.io/blog/eclipse-vert-x-4-milestone-1-released/
Vert.x will stop its LTS support for the old Postgres/MySQL client 12/2020.
Both the old and the new client are dedicated, non-blocking Postgres clients that support batch inserts and streaming selects. Only the new supports streaming inserts/updates.
Migration includes changing the code to use the new prepared statement syntax using
$1
instead of?
(see also rejected feature request).*See"
New recommended client: https://vertx.io/docs/vertx-pg-client/java/
Batch insert: https://vertx.io/docs/vertx-pg-client/java/#_prepared_queries , https://vertx.io/docs/vertx-pg-client/java/#_batches
Streaming select: https://vertx.io/docs/vertx-pg-client/java/#_cursors_and_streaming
Prepared statement with streaming execute: https://vertx.io/docs/vertx-pg-client/java/#_using_connections
Old deprecated client: http://vertx.io/docs/vertx-mysql-postgresql-client/java/
Batch insert: https://vertx.io/docs/vertx-sql-common/java/#_prepared_statement_updates , https://vertx.io/docs/vertx-sql-common/java/#_batch_operations
Streaming select: https://vertx.io/docs/vertx-sql-common/java/#_streaming
No support for prepared statement with streaming execute.
Migration guide should be prepared.