Re: Update does not move row across foreign partitions in v11

From: Etsuro Fujita <fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp>
To: David Rowley <david(dot)rowley(at)2ndquadrant(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Robert Haas <robertmhaas(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Derek Hans <derek(dot)hans(at)gmail(dot)com>
Subject: Re: Update does not move row across foreign partitions in v11
Date: 2019-03-06 03:29:24
Message-ID: 5C7F3E94.2060101@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

(2019/03/06 11:06), David Rowley wrote:
> On Tue, 5 Mar 2019 at 03:01, Derek Hans<derek(dot)hans(at)gmail(dot)com> wrote:
>> Based on a reply to reporting this as a bug, moving rows out of foreign partitions is not yet implemented so this is behaving as expected. There's a mention of this limitation in the Notes section of the Update docs.
>
> (Moving this discussion to -Hackers)
>
> In [1], Derek reports that once a row is inserted into a foreign
> partition that an UPDATE does not correctly route it back out into the
> correct partition.
>
> I didn't really follow the foreign partition code when it went in, but
> do recall being involved in the documentation about the limitations of
> partitioned tables in table 5.10.2.3 in [2]. Unfortunately, table
> 5.10.2.3 does not seem to mention this limitation at all. As Derek
> mentions, there is a brief mention in [3] in the form of:
>
> "Currently, rows cannot be moved from a partition that is a foreign
> table to some other partition, but they can be moved into a foreign
> table if the foreign data wrapper supports it."
>
> I don't quite understand what a "foreign table to some other
> partition" is meant to mean. Partitions don't have foreign tables,
> they can only be one themselves.

I think "foreign table" is describing "partition" in front of that; "a
partition that is a foreign table".

> I've tried to put all this right again in the attached. However, I was
> a bit unsure of what "but they can be moved into a foreign table if
> the foreign data wrapper supports it." is referring to. Copying Robert
> and Etsuro as this was all added in 3d956d9562aa. Hopefully, they can
> confirm what is meant by this.

That means that rows can be moved from a local partition to a foreign
partition if the FDW supports it.

IMO, I think the existing mention in [3] is good, so I would vote for
putting the same mention in table 5.10.2.3 in [2] as well.

Best regards,
Etsuro Fujita

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David Rowley 2019-03-06 03:47:47 Re: Update does not move row across foreign partitions in v11
Previous Message Amit Langote 2019-03-06 02:34:27 Re: Update does not move row across foreign partitions in v11

Browse pgsql-hackers by date

  From Date Subject
Next Message Jim Finnerty 2019-03-06 03:37:45 Re: Converting NOT IN to anti-joins during planning
Previous Message Thomas Munro 2019-03-06 03:25:23 Re: Rare SSL failures on eelpout