Обсуждение: Prepared Transactions
Hi All
Can anybody tell me if there is any performance concern around the use of Prepared Transactions in Postgres. I need to decide whether to enable an external transaction manager in our application, but I'm concerned about the performance impact this could have.
Regards
Riaan Stander
Hello! You need prepared transactions only if you need two-phase commit to provide distributed atomic transaction on multiple differentdatabases. If you not need distributed transactions - you not needed prepared transactions at all. But if you need distributed transactions - here is no more choice regardless performance questions. As say in documentation https://www.postgresql.org/docs/current/static/sql-prepare-transaction.html > Unless you're writing a transaction manager, you probably shouldn't be using PREPARE TRANSACTION. Regards, Sergei
Hi Riaan, You benefit from greater fault tolerance performance. Recovering from a crash/network outage is quicker/easier. On the downside you might see a reduction in transactions per second. It's worth benchmarking. To see if the impact to tps is acceptable to live with. Jeremy On Mon, 2017-12-11 at 11:14 +0300, Sergei Kornilov wrote: > Hello! > > You need prepared transactions only if you need two-phase commit to > provide distributed atomic transaction on multiple different > databases. > If you not need distributed transactions - you not needed prepared > transactions at all. > But if you need distributed transactions - here is no more choice > regardless performance questions. > > As say in documentation https://www.postgresql.org/docs/current/stati > c/sql-prepare-transaction.html > > Unless you're writing a transaction manager, you probably shouldn't > > be using PREPARE TRANSACTION. > > Regards, Sergei >