Hi Amit,
Thanks for adding testcases. Overall the testcases look good.
The testcase is using ALTER TABLE to modify foreign table schema.
Though this works, I think a better option is to use ALTER FOREIGN
TABLE.
Something not related to this patch but
-- no attach partition validation occurs for foreign tables
ALTER TABLE pt2 ATTACH PARTITION pt2_1 FOR VALUES IN (1);
I am wondering whether we can improve this. For local tables, if a
valid constraint equivalent to the partitioning condition is not
present on the table being attached, it scans the data to verify
partition conditions. But for a foreign table, we don't want to do
that since the constraint is not guaranteed to be valid after the
initial check. For a normal foreign table a user can set a constraint
if s/he knows that that constraint will be honoured on the foreign
server. Thus instead of saying that we do not validate data, we can
refuse to attach a partition if corresponding check constraint is
absent on the foreign table being attached. A user will then be forced
to add that constraint if s/he is sure that the constraint will be
obeyed on the foreign server.
--
Best Wishes,
Ashutosh Bapat
EnterpriseDB Corporation
The Postgres Database Company