1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-20 15:22:23 +03:00

postgres_fdw: Allow partitions specified in LIMIT TO to be imported.

Commit f49bcd4ef3 disallowed postgres_fdw to import table partitions.
Because all data can be accessed through the partitioned table which
is the root of the partitioning hierarchy, importing only partitioned
table should allow access to all the data without creating extra objects.
This is a reasonable default when importing a whole schema. But there
may be the case where users want to explicitly import one of
a partitioned tables' partitions.

For that use case, this commit allows postgres_fdw to import tables or
foreign tables which are partitions of some other table only when they
are explicitly specified in LIMIT TO clause.  It doesn't change
the behavior that any partitions not specified in LIMIT TO are
automatically excluded in IMPORT FOREIGN SCHEMA command.

Author: Matthias van de Meent
Reviewed-by: Bernd Helmle, Amit Langote, Michael Paquier, Fujii Masao
Discussion: https://postgr.es/m/CAEze2Whwg4i=mzApMe+PXxCEfgoZmHGqdqQFW7J4bmj_5p6t1A@mail.gmail.com
This commit is contained in:
Fujii Masao
2021-04-07 02:32:10 +09:00
parent 90c885cdab
commit a3740c48eb
4 changed files with 37 additions and 26 deletions

View File

@ -510,10 +510,12 @@ OPTIONS (ADD password_required 'false');
<para>
Tables or foreign tables which are partitions of some other table are
automatically excluded. Partitioned tables are imported, unless they
are a partition of some other table. 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
imported only when they are explicitly specified in
<literal>LIMIT TO</literal> clause. Otherwise they are automatically
excluded from <xref linkend="sql-importforeignschema"/>.
Since all data can be accessed through the partitioned table
which is the root of the partitioning hierarchy, importing only
partitioned tables should allow access to all the data without
creating extra objects.
</para>