Hi,
PostgresPro cluster team wants to announce proposal for eXtensible Transaction Manager API and reference implementation
ofdistributed transaction manager (pg_dtm).
pg_dtm is just a standard PostgreSQL extension which should be installed in normal way.
Source of pg_dtm and PostgreSQL patches are available here: https://github.com/postgrespro/pg_dtm
WiKi page: https://wiki.postgresql.org/wiki/DTM
xtm.patch patches PostgreSQL core by replacing direct calls of 7 TM functions with indirect calls and adding 3 addition
eventsto transaction commit callbacks:
postgres_fdw.patch patches postgres_fdw extension to work with DTM
We have also pgDTM implementation which is using timestamps (system time) as CSNs.
It is also based on the same XTM transaction API.
We will publish it later once we clarify problems with recovery and performance with this approach.
Also we have patch for pg_shard to work with DTM, which also will be published soon.
Waiting for your feedback
Konstantin Knizhnik, Postgres Professional