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

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

From: Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>
To: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
Cc: David Rowley <david.rowley@2ndquadrant.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Robert Haas <robertmhaas@gmail.com>, Alvaro Herrera <alvherre@2ndquadrant.com>, Derek Hans <derek.hans@gmail.com>
Date: 2019-03-07T12:35:03Z
Lists: pgsql-hackers, pgsql-general
(2019/03/06 15:34), Amit Langote wrote:
> On 2019/03/06 15:10, Etsuro Fujita wrote:
>> --- a/doc/src/sgml/ddl.sgml
>> +++ b/doc/src/sgml/ddl.sgml
>> @@ -3376,6 +3376,13 @@ ALTER TABLE measurement ATTACH PARTITION
>> measurement_y2008m02
>>         </para>
>>        </listitem>
>>
>> +<listitem>
>> +<para>
>> +<command>UPDATE</command>  row movement is not supported in the cases
>> +       where the old row is contained in a foreign table partition.
>> +</para>
>> +</listitem>
>>
>> ISTM that it's also a limitation that rows can be moved from a local
>> partition to a foreign partition *if the FDW support tuple routing*, so I
>> would vote for mentioning that as well here.
>
> Thanks for checking.
>
> I have updated the patch to include a line about this in the same
> paragraph, because maybe we don't need to make a new<listitem>  for it.

Thanks for the patch!

The patch looks good to me, but one thing I'm wondering is: as suggested 
by David, it would be better to rephrase this mention in the UPDATE 
reference page, in a single commit:

"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 think it needs to be completely rephrased; it's enough for me to 
rewrite it to something like this:

"Currently, rows cannot be moved from a foreign-table partition to some 
other partition, but they can be moved into a foreign-table partition if 
the foreign data wrapper supports tuple routing."

And to make maintenance work easy, I think it might be better to just 
put this on the limitations section of 5.10. Table Partitioning.  What 
do you think about that?

Best regards,
Etsuro Fujita



Commits

  1. Fix documentation on partitioning vs. foreign tables