Re: postgres_fdw IMPORT SCHEMA and partitioned tables

Amit Langote <langote_amit_f8@lab.ntt.co.jp>

From: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
To: Michael Paquier <michael.paquier@gmail.com>, Robert Haas <robertmhaas@gmail.com>
Cc: Stephen Frost <sfrost@snowman.net>, PostgreSQL mailing lists <pgsql-hackers@postgresql.org>
Date: 2017-03-31T04:37:55Z
Lists: pgsql-hackers
On 2017/03/31 13:23, Michael Paquier wrote:
> On Wed, Mar 29, 2017 at 12:30 PM, Michael Paquier
> <michael.paquier@gmail.com> wrote:
>> Users like things that are friendly, and we are most likely going to
>> piss them off when using postgres_fdw if they need to list manually
>> each parent table from the IMPORT FOREIGN SCHEMA command.
>>
>>> However, if we're going to do something about this, I think it should
>>> be done soon.  Otherwise, I'm going to advocate for reclassifying this
>>> issue from "open item" to "possible area for future development".
>>
>> I was just waiting for the end of the CF before sending in a patch,
>> allocating now some time to look at some patches pending for reviews.
> 
> And here is the promised patch to address this open item.

Looks good to me, except maybe:

+
+   <para>
+    For partitioned tables, partitions are automatically excluded from the
+    schema data imported. Only the definition of partitioned tables is
included
+    to give access to the full data set of all partitions present remotely.
+   </para>
+

Only the definitions of "root" partitioned tables, because when using
multi-level partitioning, there would be partitioned tables that won't be
included (because, relispartition=true).

If you agree, then this code comment too could use the same terminology:

+         * Ignore table data for partitions and only include the parent
+         * definitions to allow access to the complete remote data set
+         * locally in the schema imported.
+         *

Thanks,
Amit




Commits

  1. postgres_fdw: Teach IMPORT FOREIGN SCHEMA about partitioning.