RE: BUG #18644: ALTER PUBLICATION ... SET (publish_via_partition_root) wrong/undocumented behavior.

Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com>

From: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
To: 'Amit Kapila' <amit.kapila16@gmail.com>, Peter Smith <smithpb2250@gmail.com>
Cc: vignesh C <vignesh21@gmail.com>, Maxim Boguk <maxim.boguk@gmail.com>, "pgsql-bugs@lists.postgresql.org" <pgsql-bugs@lists.postgresql.org>
Date: 2024-10-25T06:51:03Z
Lists: pgsql-bugs

Attachments

Dear Amit, Peter,

> > SUGGESTION
> >      <caution>
> >       <para>
> >        Altering the <literal>publish_via_partition_root</literal> parameter
> >        can lead to data loss or duplication at the subscriber because it
> >        changes the identity and schema of the published tables.
> >       </para>
> 
> This appears precise but lacks the key information that the problem
> can happen when a partitioned root table is specified as a replication
> target. So, how about one of the following:
> 
> * Altering the <literal>publish_via_partition_root</literal> parameter
> when the partition root table is specified as the replication target
> can lead to data loss or duplication at the subscriber because it
> changes the identity and schema of the published tables.
> 
> * Altering the <literal>publish_via_partition_root</literal> parameter
> can lead to data loss or duplication at the subscriber because it
> changes the identity and schema of the published tables. Note this
> happens only when the partition root table is specified as the
> replication target.
> 
> >       <para>
> >        This problem can be avoided by refraining from modifying
> > partition leaf tables
> >        after the <command>ALTER PUBLICATION ... SET</command> until
> the
> >        <link linkend="sql-altersubscription"><command>ALTER
> > SUBSCRIPTION ... REFRESH PUBLICATION</command></link>
> >       is executed, and by only refreshing using the <literal>copy_data
> > = off</literal> option.
> >       </para>
> >      </caution>
> >
> 
> We can keep this part as you proposed.

Thanks for suggestions. I updated as you pointed out. I removed a comma from
"is executed, and..." because my Grammarly said like that.
PSA new version.

Best regards,
Hayato Kuroda
FUJITSU LIMITED

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Doc: Add a caution in alter publication.