Hello Gilles. I made a silly mistake. At Thu, 7 Nov 2019 09:05:55 +0100, Gilles Darold <gil...@darold.net> wrote in > > FWIW, I see it a bit weird, too. And perhaps "prepare" should be in > > upper case letters. Plus, any operation including a SELECT on a > > temporary table inhibits PREAPRE TRANSACTION, but the same on a > > postgres_fdw foreign tables is not. So the error message is rather > > wrong. > > > This is not what I've experienced, see the first message of the thread. > A SELECT on foreign table prevent to use PREPARE TRANSACTION like with > temporary table. Perhaps postgres_fdw should not throw an error with > readonly queries on foreign tables but I guess that it is pretty hard to > know especially on a later PREPARE event. But maybe I'm wrong, it is not > easy every day :-) Can you share the SQL code you have executed to allow > PREPARE transaction after a SELECT on a postgres_fdw foreign table?
Oooops! After reading this, I came to be afraid that I did something wrong, then I rechecked actual behavior. Finally I found that SELECT * FROM foregn_tbl prohibits PREPARE TRANSACTION. I might have used a local table instead of foreign tabel at the previous trial. Sorry for the mistake and thank you for pointing it. So my fixed proposals are: "cannot PREPARE a transaction that has operated on foreign tables using postgres_fdw" Or "postgres_fdw doesn't support PREPARE of a transaction that has accessed foreign tables" -- Kyotaro Horiguchi NTT Open Source Software Center