Subject: Re: Regarding: Replication of TRUNCATE commands is not working

From: Arvind Raghuwanshi <[email-masked]>
Date: Tue, 9 Apr 2024 17:37:01 +0530

Hi Laurenz,
Thanks for the response
Question: What PostgreSQL version are you using?  The feature was
introduced in v11.
Answer: I am using the 16.0 Postgresql version.
db1=> SELECT version();
                                               version
-----------------------------------------------------------------------------------------------------
 PostgreSQL 16.0 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu
7.5.0-3ubuntu1~18.04) 7.5.0, 64-bit
(1 row)

Question: How exactly is the publication defined?  Perhaps TRUNCATE is
excluded.
I am not using the subscribe/publication model . but i have created a
replication slot on the source database and then i am calling below
procedure to get the details from replication slot:
select data from pg_logical_slot_peek_changes('db1_slot', NULL, NULL,
'pretty-print', '1');

In the case of TRUNCATE , the above procedure does not show up any records.
however this procedure shows up insert, update and delete events.

As you mentioned TRUNCATE is excluded, is there any way to exclude
TRUNCATE ?

Thanks
Arvind

On Tue, Apr 9, 2024 at 4:08 PM Laurenz Albe <[email-masked]>
wrote:

> On Tue, 2024-04-09 at 14:50 +0530, Arvind Raghuwanshi wrote:
> > I have tried to run the TRUNCATE command  and found out that it's not
> getting replicated using logical replication for pgsql.
> > I have also checked the schema change using pg_dump command but the
> schema change also not getting detected for TRUNCATE command.
> >
> > However on pgsql logical replication doc page[1] , it's mentioned
> that Replication of TRUNCATE commands is supported.
> >
> > [1] PostgreSQL: Documentation: 16: 31.6. Restrictions
> >
> > Any idea how we can solve this?
>
> What PostgreSQL version are you using?  The feature was introduced in v11.
> How exactly is the publication defined?  Perhaps TRUNCATE is excluded.
>
> Yours,
> Laurenz Albe
>

---

From: Adrian Klaver <[email-masked]>
Date: Tue, 9 Apr 2024 07:28:53 -0700

> Answer: I am using the 16.0 Postgresql version.

To be clear you have not done CREATE PUBLICATION on the source machine, 
correct?

What is the rest of your configuration per:

https://www.postgresql.org/docs/current/logical-replication-config.html

Also what exactly is being TRUNCTEd?

> In the case of TRUNCATE , the above procedure does not show up any 
> records. however this procedure shows up insert, update and delete events.
> 
> On Tue, Apr 9, 2024 at 4:08 PM Laurenz Albe <[email-masked] 
> <mailto:[email-masked]>> wrote:
> 
>      > I have tried to run the TRUNCATE command  and found out that it's
>     not getting replicated using logical replication for pgsql.
>      > I have also checked the schema change using pg_dump command but
>     the schema change also not getting detected for TRUNCATE command.
>      >

-- 
Adrian Klaver
[email-masked]