Re: Optimization for updating foreign tables in Postgres FDW

From: Etsuro Fujita <fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp>
To: Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Stephen Frost <sfrost(at)snowman(dot)net>, Shigeru Hanada <shigeru(dot)hanada(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Optimization for updating foreign tables in Postgres FDW
Date: 2015-04-16 10:50:03
Message-ID: 552F93DB.4060309@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2015/03/05 21:08, Etsuro Fujita wrote:
> Here is an updated version.

> The EXPLAIN output has also been improved as discussed in [1].

I noticed that the EXPLAIN for a pushed-down update (delete) on
inheritance childs doubly displays "Foreign Update" ("Foreign Delete"),
one for ForeignScan and the other for ModifyTable. Here is an example:

postgres=# explain verbose update parent set c1 = c1;
QUERY PLAN
------------------------------------------------------------------------------
Update on public.parent (cost=0.00..364.54 rows=4819 width=10)
Update on public.parent
Foreign Update on public.ft1
Foreign Update on public.ft2
-> Seq Scan on public.parent (cost=0.00..0.00 rows=1 width=10)
Output: parent.c1, parent.ctid
-> Foreign Update on public.ft1 (cost=100.00..182.27 rows=2409
width=10)
Remote SQL: UPDATE public.t1 SET c1 = c1
-> Foreign Update on public.ft2 (cost=100.00..182.27 rows=2409
width=10)
Remote SQL: UPDATE public.t2 SET c1 = c1
(10 rows)

Should we do something? Suggestions are welcome.

Best regards,
Etsuro Fujita

[1] http://www.postgresql.org/message-id/31942.1410534785@sss.pgh.pa.us

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2015-04-16 10:57:43 Re: Optimization for updating foreign tables in Postgres FDW
Previous Message Pavan Deolasee 2015-04-16 09:36:46 Re: Turning off HOT/Cleanup sometimes