Re: postgres_fdw: IMPORT FOREIGN SCHEMA ... LIMIT TO (partition)
Fujii Masao <masao.fujii@oss.nttdata.com>
From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Amit Langote <amitlangote09@gmail.com>
Cc: Bernd Helmle <mailings@oopsware.de>,
Matthias van de Meent <boekewurm+postgres@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>,
Stephen Frost <sfrost@snowman.net>, Michael Paquier <michael@paquier.xyz>
Date: 2021-04-06T12:29:20Z
Lists: pgsql-hackers
Attachments
- v2-0001-Update-postgres_fdw-to-import-partitions-when-nam.patch (text/plain) patch v2-0001
On 2021/04/06 16:05, Amit Langote wrote: > On Tue, Apr 6, 2021 at 8:34 AM Fujii Masao <masao.fujii@oss.nttdata.com> wrote: >> For now I have no objection to this feature. >> >> -IMPORT FOREIGN SCHEMA import_source EXCEPT (t1, "x 4", nonesuch) >> +IMPORT FOREIGN SCHEMA import_source EXCEPT (t1, "x 4", nonesuch, t4_part) >> >> Isn't it better to create also another partition like "t4_part2"? >> If we do this, for example, the above test can confirm that both >> partitions in EXCEPT and not in are excluded. >> >> + All tables or foreign tables which are partitions of some other table >> + are automatically excluded from <xref linkend="sql-importforeignschema"/> >> + unless they are explicitly included in the <literal>LIMIT TO</literal> >> >> IMO it's better to document that partitions are imported when they are >> included in LIMIT TO, instead. What about the following? >> >> Tables or foreign tables which are partitions of some other table are >> imported only when they are explicitly specified in >> <literal>LIMIT TO</literal> clause. Otherwise they are automatically >> excluded from <xref linkend="sql-importforeignschema"/>. >> >> + clause. Since all data can be accessed through the partitioned table >> + which is the root of the partitioning hierarchy, this approach should >> + allow access to all the data without creating extra objects. >> >> Now "this approach" in the above is not clear? What about replacing it with >> something like "importing only partitioned tables"? > > +1, that wording is better. Thanks! So I applied all the changes that I suggested upthread to the patch. I also updated the comment as follows. * Import table data for partitions only when they are explicitly - * specified in LIMIT TO clause. Otherwise ignore them and - * only include the definitions of the root partitioned tables to - * allow access to the complete remote data set locally in - * the schema imported. + * specified in LIMIT TO clause. Otherwise ignore them and only + * include the definitions of the root partitioned tables to allow + * access to the complete remote data set locally in the schema + * imported. Attached is the updated version of the patch. Barring any objection, I'm thinking to commit this. Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION
Commits
-
postgres_fdw: Allow partitions specified in LIMIT TO to be imported.
- a3740c48eb2f 14.0 landed
-
postgres_fdw: Teach IMPORT FOREIGN SCHEMA about partitioning.
- f49bcd4ef3e9 10.0 cited