On Mon, Jul 10, 2023 at 1:33 PM Hayato Kuroda (Fujitsu)
<kuroda.hayato@fujitsu.com> wrote:
>
> Dear hackers,
>
> This is a fork thread from [1]. While analyzing codes I noticed that UPDATE and
> DELETE cannot be replicated when REPLICA IDENTITY is FULL and the table has datatype
> which does not have the operator class of Btree. I thnk this restriction is not
> documented but should be. PSA the patch to add that. Thought?
>
> [1]:
https://www.postgresql.org/message-id/TYAPR01MB586687A51AB511E5A7F7D3E6F526A%40TYAPR01MB5866.jpnprd01.prod.outlook.com
>
Hi.
+1 for the patch.
Here are some minor review comments:
======
1.
SUGGESTION (minor reword)
If the published table specifies <literal>REPLICA IDENTITY
FULL</literal> but the table includes an attribute whose datatype is
not an operator class of Btree, then <literal>UPDATE</literal> and
<literal>DELETE</literal> operations cannot be replicated. To make it
work, a primary key should be defined on the subscriber table, or a
different appropriate replica identity must be specified.
2.
Maybe "REPLICA IDENTITY FULL" should have a link, like from this [1] page.
------
[1] 31.1 Publication =
https://www.postgresql.org/docs/current/logical-replication-publication.html
Kind Regards,
Peter Smith.
Fujitsu Australia