Re: pg_basebackup application does not dump all database objects - Mailing list pgsql-docs

From Stephen Frost
Subject Re: pg_basebackup application does not dump all database objects
Date
Msg-id ZGOP1Tu5bDBkLIdE@tamriel.snowman.net
Whole thread Raw
In response to pg_basebackup application does not dump all database objects  (PG Doc comments form <noreply@postgresql.org>)
Responses Re: pg_basebackup application does not dump all database objects
List pgsql-docs
Greetings,

* PG Doc comments form (noreply@postgresql.org) wrote:
> It would be good to point out on the pg_basebackup documentation that it
> behaves differently from
>
> SELECT * FROM pg_start_backup('label', true, false);
> cp -a xxx yyy
> SELECT * FROM pg_stop_backup(false, true);

... that's not actually a backup.  Doing the above, you won't get a
backup_label and unless you take other steps, PG will end up thinking
it's doing crash recovery.  That's not good and can lead to corruption.
If you're going to consider taking a low-level backup you should read
the documentation here:

https://www.postgresql.org/docs/15/continuous-archiving.html#BACKUP-LOWLEVEL-BASE-BACKUP

Which specifically goes into the question about replication slots.

> method. One thing discovered was that the latter retains replication slot
> information on the clone while pg_basebackup discards all replication slot
> information. Not sure if it is a feature or a bug (replication slots
> retention is a good thing).

Our documentation points out a number of reasons why it's not, I'd
suggest you read the above.

> And perhaps there are more such subtle differences?

Not sure that there's really that many other differences between
pg_basebackup and a properly implemented low-level backup.  You
certainly have to do a lot more than what you have above to have a
properly implemented low-level backup though.

Thanks,

Stephen

Attachment

pgsql-docs by date:

Previous
From: PG Doc comments form
Date:
Subject: pg_basebackup application does not dump all database objects
Next
From: PG Doc comments form
Date:
Subject: Postgres 14 documentation suggests range_agg is available, but it's not until Postgres 15