Thread: Is it really difficult for postgres_fdw to implement READ COMMITTED isolation?

Is it really difficult for postgres_fdw to implement READ COMMITTED isolation?

From
Jinhua Luo
Date:
https://www.postgresql.org/docs/current/static/postgres-fdw.html#id-1.11.7.43.12

As the doc said, the REPEATABLE READ isolation level is used to get
snapshot-consistent results.

But is it possible that postgres_fdw could get to know which remote
queries involved by each top outer command in the local transaction,
and use the same snapshot in the remote server to execute them
sequentially? For example, could we use PREPARE TRANSACTION and SET
TRANSACTION SNAPSHOT to archive this goal? Then we could use READ
COMMITTED on both sides?


Re: Is it really difficult for postgres_fdw to implement READCOMMITTED isolation?

From
Ashutosh Bapat
Date:

On Tue, Sep 18, 2018 at 8:28 PM Jinhua Luo <luajit.io@gmail.com> wrote:
https://www.postgresql.org/docs/current/static/postgres-fdw.html#id-1.11.7.43.12

As the doc said, the REPEATABLE READ isolation level is used to get
snapshot-consistent results.

But is it possible that postgres_fdw could get to know which remote
queries involved by each top outer command in the local transaction,
and use the same snapshot in the remote server to execute them
sequentially? For example, could we use PREPARE TRANSACTION and SET
TRANSACTION SNAPSHOT to archive this goal? Then we could use READ
COMMITTED on both sides?


I guess the problem is 1. exporting snapshots is not cheap 2. tracking prepared transactions is not implemented. See a nearby thread on "transaction involving multiple foreign server".

--
Best Wishes,
Ashutosh Bapat