Thread: prevent WAL replication to fill filesystem
Hello, I have a old PG 9.6 with WAL replication. for some reason the rsync was failed and the filesystem was filled by pg_xlog files. As result PG stops working. Is there a way to prevent WAL replication to fill filesystem by xlog files in case of failure? Best regards
On Tue, 2021-08-31 at 10:36 +0200, basti wrote: > have a old PG 9.6 with WAL replication. > for some reason the rsync was failed and the filesystem was filled by > pg_xlog files. > As result PG stops working. > > Is there a way to prevent WAL replication to fill filesystem by xlog > files in case of failure? Sure. Upgrade to v13 and set "max_slot_wal_keep_size". Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com
On Tue, 31 Aug 2021 10:53:45 +0200 Laurenz Albe <laurenz.albe@cybertec.at> wrote: > On Tue, 2021-08-31 at 10:36 +0200, basti wrote: > > have a old PG 9.6 with WAL replication. > > for some reason the rsync was failed and the filesystem was filled by > > pg_xlog files. > > As result PG stops working. > > > > Is there a way to prevent WAL replication to fill filesystem by xlog > > files in case of failure? No. You have to size your partition big enough to handle few days of normal WAL production, monitor the archiving success and react quickly to fix things when it fails. > Upgrade to v13 and set "max_slot_wal_keep_size". How this would prevent the failure if $OP doesn't (want to) use slots ? He speaks about rsync, so it might be purely archiving error, not streaming. Regards,
These suggestions are appropriate. However, if you are ready to lose your replica to keep production running, there are a couple of methods.
1) Set archive_command to "/bin/true"
2) rename .ready files in archive_status to .done.
Again, I personally do not recommend this, so consider this as a last resort to save your system from the space crunch issue.
Regards,
Ninad Shah
On Tue, 31 Aug 2021 at 15:08, Jehan-Guillaume de Rorthais <jgdr@dalibo.com> wrote:
On Tue, 31 Aug 2021 10:53:45 +0200
Laurenz Albe <laurenz.albe@cybertec.at> wrote:
> On Tue, 2021-08-31 at 10:36 +0200, basti wrote:
> > have a old PG 9.6 with WAL replication.
> > for some reason the rsync was failed and the filesystem was filled by
> > pg_xlog files.
> > As result PG stops working.
> >
> > Is there a way to prevent WAL replication to fill filesystem by xlog
> > files in case of failure?
No.
You have to size your partition big enough to handle few days of normal
WAL production, monitor the archiving success and react quickly to fix things
when it fails.
> Upgrade to v13 and set "max_slot_wal_keep_size".
How this would prevent the failure if $OP doesn't (want to) use slots ? He
speaks about rsync, so it might be purely archiving error, not streaming.
Regards,
Le 8 septembre 2021 06:07:15 GMT+02:00, Ninad Shah <nshah.postgres@gmail.com> a écrit : >These suggestions are appropriate. However, if you are ready to lose your >replica to keep production running, there are a couple of methods. > >1) Set archive_command to "/bin/true" >2) rename .ready files in archive_status to .done. You do not need to rename files in archive_status, especially after setting /bin/true. The normal production, if running,will soon enough clean everything, quickly. A good advice is to never do writes in pg_wal yoursef (mv, rm, edit, etc).