Re: pg_basebackup application does not dump all database objects

From: Stephen Frost <sfrost(at)snowman(dot)net>
To: sonicmonkey(at)gmail(dot)com, pgsql-docs(at)lists(dot)postgresql(dot)org
Subject: Re: pg_basebackup application does not dump all database objects
Date: 2023-05-16 14:14:45
Message-ID: ZGOP1Tu5bDBkLIdE@tamriel.snowman.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

Greetings,

* PG Doc comments form (noreply(at)postgresql(dot)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

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message PG Doc comments form 2023-05-18 17:54:51 Postgres 14 documentation suggests range_agg is available, but it's not until Postgres 15
Previous Message PG Doc comments form 2023-05-16 11:49:23 pg_basebackup application does not dump all database objects