From: | Amit Kapila <akapila(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Add prepare API support for streaming transactions in logical re |
Date: | 2021-08-04 02:47:02 |
Message-ID: | E1mB6vu-0000iy-Sc@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Add prepare API support for streaming transactions in logical replication.
Commit a8fd13cab0 added support for prepared transactions to built-in
logical replication via a new option "two_phase" for a subscription. The
"two_phase" option was not allowed with the existing streaming option.
This commit permits the combination of "streaming" and "two_phase"
subscription options. It extends the pgoutput plugin and the subscriber
side code to add the prepare API for streaming transactions which will
apply the changes accumulated in the spool-file at prepare time.
Author: Peter Smith and Ajin Cherian
Reviewed-by: Vignesh C, Amit Kapila, Greg Nancarrow
Tested-By: Haiying Tang
Discussion: https://postgr.es/m/02DA5F5E-CECE-4D9C-8B4B-418077E2C010@postgrespro.ru
Discussion: https://postgr.es/m/CAMGcDxeqEpWj3fTXwqhSwBdXd2RS9jzwWscO-XbeCfso6ts3+Q@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/63cf61cdeb7b0450dcf3b2f719c553177bac85a2
Modified Files
--------------
doc/src/sgml/logicaldecoding.sgml | 11 +-
doc/src/sgml/protocol.sgml | 76 ++++++-
doc/src/sgml/ref/create_subscription.sgml | 10 -
src/backend/commands/subscriptioncmds.c | 25 ---
src/backend/replication/logical/proto.c | 29 ++-
src/backend/replication/logical/worker.c | 56 ++++-
src/backend/replication/pgoutput/pgoutput.c | 33 ++-
src/include/replication/logicalproto.h | 8 +-
src/test/regress/expected/subscription.out | 24 +-
src/test/regress/sql/subscription.sql | 11 +-
src/test/subscription/t/022_twophase_cascade.pl | 179 ++++++++++++++-
src/test/subscription/t/023_twophase_stream.pl | 284 ++++++++++++++++++++++++
12 files changed, 667 insertions(+), 79 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2021-08-04 04:54:03 | pgsql: Make vacuum_index_cleanup reloption RELOPT_TYPE_ENUM. |
Previous Message | Tom Lane | 2021-08-03 17:09:03 | pgsql: Add assorted new regexp_xxx SQL functions. |