On Thu, Jul 27, 2017 at 5:08 AM, Stas Kelvich <s.kelv...@postgrespro.ru> wrote:
> As far as I understand any solution that provides proper isolation for 
> distributed
> transactions in postgres will require distributed 2PC somewhere under the 
> hood.
> That is just consequence of parallelism that database allows — transactions 
> can
> abort due concurrent operations. So dichotomy is simple: either we need 2PC or
> restrict write transactions to be physically serial.
> In particular both Postgres-XL/XC and postgrespro multimaster are using 2PC to
> commit distributed transaction.

Ah, OK.  I was imagining that a transaction manager might be
responsible for managing both snapshots and distributed commit.  But
if the transaction manager only handles the snapshots (how?) and the
commit has to be done using 2PC, then we need this.

> Also I see the quite a big value in this patch even without 
> tm/snapshots/whatever.
> Right now fdw doesn’t guarantee neither isolation nor atomicity. And if one 
> isn’t
> doing cross-node analytical transactions it will be safe to live without 
> isolation.
> But living without atomicity means that some parts of data can be lost 
> without simple
> way to detect and fix that.

OK, thanks for weighing in.

Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to