Re: table bloat very fast and free space can not be reused - Mailing list pgsql-performance

From Christophe Pettus
Subject Re: table bloat very fast and free space can not be reused
Date
Msg-id 6EEE234B-D3DC-48D9-97EE-0A86D63554BC@thebuild.com
Whole thread
In response to table bloat very fast and free space can not be reused  (James Pang <jamespang886@gmail.com>)
Responses Re: table bloat very fast and free space can not be reused
List pgsql-performance

> On Apr 18, 2026, at 18:28, James Pang <jamespang886@gmail.com> wrote:
>
> experts:
>      source database v14 ,  pglogical extension 2.4.5 replication to new 17, source table very frequent UPDATEs
/DELETES/INSERTS and has two text and jsonb. in source database, application update/delete/insert through SQL, table
sizedid not increased quickly. but in target pg v17 , by pglogical apply, we found table increased very quickly , table
sizegot doubled in days.   
>     Vacuum analyze did not help , only vacuum full can help. pgstattuple show most of space are free space , that
muchmore than source.  it looks like these replicate DML always asking new pages instead of reuse existing freespace.  
>     Thanks,
>
> James

Hello,

1. First, are you *sure* that the free space is the source of the bloat, and not dead tuples?  Could you share the
queriesyou ran to detrmine this? 

2. Have you set fillfactor to anything besides 100 on either the source or the destination?

3. You might consider using in-core logical replication rather than pglogical for this.  By PostgreSQL v14, in-core
logicalreplication is likely a better choice. 

Best,
-- Christophe


pgsql-performance by date:

Previous
From: James Pang
Date:
Subject: table bloat very fast and free space can not be reused
Next
From: James Pang
Date:
Subject: Re: table bloat very fast and free space can not be reused