postgres_fdw: Allow partitions specified in LIMIT TO to be imported.
authorFujii Masao <fujii@postgresql.org>
Tue, 6 Apr 2021 17:32:10 +0000 (02:32 +0900)
committerFujii Masao <fujii@postgresql.org>
Tue, 6 Apr 2021 17:32:10 +0000 (02:32 +0900)
commita3740c48eb2f91663c7c06c948dfcfb6493d2588
tree0e40d532067bab79fef9c54f81794fb94c656a9c
parent90c885cdab8bc5a5f12a243774fa0db51002a2fd
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
contrib/postgres_fdw/expected/postgres_fdw.out
contrib/postgres_fdw/postgres_fdw.c
contrib/postgres_fdw/sql/postgres_fdw.sql
doc/src/sgml/postgres-fdw.sgml