Re: Restrict publishing of partitioned table with a foreign table as partition

From: vignesh C <vignesh21(at)gmail(dot)com>
To: Shlok Kyal <shlok(dot)kyal(dot)oss(at)gmail(dot)com>
Cc: Sergey Tatarintsev <s(dot)tatarintsev(at)postgrespro(dot)ru>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Restrict publishing of partitioned table with a foreign table as partition
Date: 2025-02-04 13:01:19
Message-ID: CALDaNm38JnGC_p6tM=8iQDB+SYQb4COa8SApbUB8ApD2iyH+QQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, 30 Jan 2025 at 17:32, Shlok Kyal <shlok(dot)kyal(dot)oss(at)gmail(dot)com> wrote:
>
> @@ -1428,6 +1427,12 @@ check_foreign_tables_in_schema(Oid schemaid)
> errdetail("foreign table \"%s\" is a partition of
> partitioned table \"%s\"",
> get_rel_name(foreign_tbl_relid), parent_name)));
> }
> + else if (relForm->relkind == RELKIND_FOREIGN_TABLE)
> + ereport(ERROR,
> + (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
> + errmsg("cannot add relation \"%s\" to publication",
> + get_rel_name(relForm->oid)),
> + errdetail_relkind_not_supported(RELKIND_FOREIGN_TABLE)));
> }
>
> We should only throw error when foreign table is part of a partition
> table in case of 'FOR TABLES IN SCHEMA' . We should not throw an error
> otherwise because in case of 'FOR TABLES IN SCHEMA' foreign tables are
> not published by default.
>
> I have added the changes in v3-0001.

In case of all tables publication you have retrieved all the foreign
tables and then checked if any of the foreign tables is a partition of
a partitioned table. In case of all tables in schema publication you
have retrieved all the partitioned tables and then check if it
includes foreign tables. I felt you can keep the all tables in schema
publication also similar to all tables publication(as generally the
number of foreign tables will be lesser than the tables) i.e. retrieve
all the foreign tables and then check if any of the foreign tables is
a partition of a partitioned table.

Regards,
Vignesh

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alena Rybakina 2025-02-04 13:06:15 Re: POC: track vacuum/analyze cumulative time per relation
Previous Message vignesh C 2025-02-04 12:46:24 Re: Restrict publishing of partitioned table with a foreign table as partition