Re: pg_basebackup && long time storage of wal_archive/ content - Mailing list pgsql-general

From Laurenz Albe
Subject Re: pg_basebackup && long time storage of wal_archive/ content
Date
Msg-id 281079d27fd4b21232e0f40fa6e73c277b74b246.camel@cybertec.at
Whole thread Raw
In response to Re: pg_basebackup && long time storage of wal_archive/ content  (Matthias Apitz <guru@unixarea.de>)
List pgsql-general
On Wed, 2020-04-15 at 08:16 +0200, Matthias Apitz wrote: 
> > > The run (as user 'postgres') on the server of the cmd:
> > > 
> > > pg_basebackup -U ${DBSUSER} -Ft -z -D /data/postgresql11/backup-wal_archive-20200414-1/
> > > 
> > > produces correctly the following situtation on the server:
> > > 
> > > srap32dxr1:/data/postgresql11 # ls -ltrh backup-20200414-1
> > > total 1.7G
> > > -rw------- 1 postgres postgres 1.7G Apr 14 16:20 base.tar.gz
> > > -rw------- 1 postgres postgres  17K Apr 14 16:20 pg_wal.tar.gz
> > > srap32dxr1:/data/postgresql11 # ls -ltrh data/pg_wal
> > > total 81M
> > > -rw------- 1 postgres postgres 16M Apr 14 15:11 000000010000000C0000009F
> > > -rw------- 1 postgres postgres 16M Apr 14 15:20 000000010000000C000000A0
> > > -rw------- 1 postgres postgres 16M Apr 14 16:10 000000010000000C000000A1
> > > -rw------- 1 postgres postgres 16M Apr 14 16:20 000000010000000C000000A2
> > > -rw------- 1 postgres postgres 342 Apr 14 16:20 000000010000000C0000009D.00000028.backup
> > > drwx------ 2 postgres postgres 36K Apr 14 16:25 archive_status
> > > -rw------- 1 postgres postgres 16M Apr 14 16:50 000000010000000C0000009E
> > > srap32dxr1:/data/postgresql11 # ls -ltrh wal_archive/
> > > total 49M
> > > -rw------- 1 postgres postgres 16M Apr 14 15:20 000000010000000C0000009B
> > > -rw------- 1 postgres postgres 16M Apr 14 16:10 000000010000000C0000009C
> > > -rw------- 1 postgres postgres 16M Apr 14 16:20 000000010000000C0000009D
> > > -rw------- 1 postgres postgres 342 Apr 14 16:20 000000010000000C0000009D.00000028.backup
> > > 
> > > The content of the dir wal_archive/ is growing and growing over the
> > > time.
> > > 
> > > The pg_wal.tar.gz contains:
> > > 
> > > srap32dxr1:/data/postgresql11 # tar tzf backup-20200414-1/pg_wal.tar.gz
> > > 000000010000000C0000009D
> > > 
> > > i..e. the files 000000010000000C0000009B ... 000000010000000C0000009D
> > > could be removed in wal_archive/
> > > 
> > > Correct? Or how is the long time storage of this dir?

The best you can do is to use "pg_archivecleanup" with one of these *.backup
files.  If you run

  pg_archivecleanup wal_archive 000000010000000C0000009D.00000028.backup

it will delete all WAL archives older than that backup.

So that backup can still be restored, and you can recover to any later point
in time, but all older WAL is removed.

> > pg_basebackup is a point in time backup tool.
> 
> Thanks for the answer. What do you mean by 'point in time backup tool'?

I think he meant "online file system-level backup tool" - you need
point-in-time-recovery to restore such a backup.

> And, coming back to my question, can older WAL in wal_archive/ be
> removed without any risks if the daily
> 
> pg_wal.tar.gz
> base.tar.gz
> 
> are moved to a safe place?

Yes, because "-X stream" is the default for "pg_basebackup".

"pg_wal.tar.gz" will contain all the WAL necessary to recover the backup, so
if you unpack its contents into the "pg_wal" subdirectory of the unpacked
base backup, you can simply start the server, and it will recover to the end
of the backup.

Yours,
Laurenz Albe
-- 
Cybertec | https://www.cybertec-postgresql.com




pgsql-general by date:

Previous
From: Matthias Apitz
Date:
Subject: Re: pg_basebackup && long time storage of wal_archive/ content
Next
From: Pavel Stehule
Date:
Subject: Re: Help needed with XMLTABLE