Re: postgres_fdw: perform UPDATE/DELETE .. RETURNING on a join directly

Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>

From: Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Pg Hackers <pgsql-hackers@postgresql.org>, Rushabh Lathia <rushabh.lathia@gmail.com>, Michael Paquier <michael.paquier@gmail.com>, Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
Date: 2018-02-13T12:40:46Z
Lists: pgsql-hackers

Attachments

(2018/02/11 6:24), Tom Lane wrote:
> However, jaguarundi still shows a problem:
>
> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=jaguarundi&dt=2018-02-10%2008%3A41%3A32
>
> (previous run similar, so it's semi-reproducible even after this patch).
> jaguarundi uses -DCLOBBER_CACHE_ALWAYS, so you might try a few repetitions
> with that.

I ran the postgres_fdw regression test with no sleep two times in a 
CLOBBER_CACHE_ALWAYS-enabled build, and then the regression test with 
the sleep (60 seconds) two times, but I couldn't reproduce that in both 
cases.  I suspect the changes in the order of the RETURNING output there 
was still caused by autovacuum kicking in partway through the run.  So 
to make the regression test more stable against autovacuum, I'd propose 
to modify the regression test to disable autovacuum for the remote table 
(ie "S 1"."T 1") (and perform VACUUM ANALYZE to that table manually 
instead) in hopes of getting that fixed.  Attached is a patch for that. 
  I think changes added by the previous patch wouldn't make sense 
anymore, so I removed those changes.

Best regards,
Etsuro Fujita

Commits

  1. Temporarily instrument postgres_fdw test to look for statistics changes.

  2. postgres_fdw: Fourth attempt to stabilize regression tests.

  3. postgres_fdw: Third attempt to stabilize regression tests.

  4. postgres_fdw: Attmempt to stabilize regression tests.

  5. postgres_fdw: Push down UPDATE/DELETE joins to remote servers.