Subject: Re: Confusing error message in 15.6

From: "David G. Johnston" <[email-masked]>
Date: Tue, 21 May 2024 17:42:37 -0600

On Tue, May 21, 2024, 17:29 Dmitry O Litvintsev <[email-masked]> wrote:

> Hi,
>
> I am observing the following error which confuses me:
>
> #  psql -U postgres template1 -c "checkpoint; select
> pg_backup_start('${dest}.tar.Z', true)"
> CHECKPOINT
>  pg_backup_start
> -----------------
>  17BF7/3009498
> (1 row)
>
> #  psql -U postgres template1 -c "select pg_backup_stop(true)"
> ERROR:  backup is not in progress
> HINT:  Did you call pg_backup_start()?
>
> This is postgresql 15.6 running on RH 7.
>
> This is not just amusing, it is breaking my backup script after update
> from 11 to 15 (and change from pg_{start,stop}_backup to
> pg_backup_{start_stop})
>

Yep, nowadays you must keep the transaction where you issued backup start
open until you issue backup end.  Using -c isn't going to cut it.

David J.

---

From: "David G. Johnston" <[email-masked]>
Date: Tue, 21 May 2024 16:50:14 -0700

> open until you issue backup end.  Using -c isn't going to cut it.
Right, it’s only the connection, not a transaction.

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

And this is why the name changed, because the behavior is so different.

David J.

---

From: Dmitry O Litvintsev <[email-masked]>
Date: Tue, 21 May 2024 23:58:42 +0000

Oops. This means major rewrite of my backup procedure.  Thanks for pointing this out. I will likely just switch to pg_basebackup. What I have is something old and gnarly from the days of psql version 8.

________________________________________
From: David G. Johnston <[email-masked]>
Sent: Tuesday, May 21, 2024 6:42 PM
To: Dmitry O Litvintsev
Cc: pgsql-generallists.postgresql.org
Subject: Re: Confusing error message in 15.6

[EXTERNAL] – This message is from an external sender

On Tue, May 21, 2024, 17:29 Dmitry O Litvintsev <[email-masked]<mailto:[email-masked]>> wrote:
Hi,

#  psql -U postgres template1 -c "checkpoint; select pg_backup_start('${dest}.tar.Z', true)"
CHECKPOINT
 pg_backup_start
-----------------
 17BF7/3009498
(1 row)

This is not just amusing, it is breaking my backup script after update from 11 to 15 (and change from pg_{start,stop}_backup to pg_backup_{start_stop})

Yep, nowadays you must keep the transaction where you issued backup start open until you issue backup end.  Using -c isn't going to cut it.

David J.

---

From: Laurenz Albe <[email-masked]>
Date: Wed, 22 May 2024 09:29:16 +0200

On Tue, 2024-05-21 at 23:58 +0000, Dmitry O Litvintsev wrote:

> > Yep, nowadays you must keep the transaction where you issued backup start open until
> > you issue backup end.  Using -c isn't going to cut it.
>
> Oops. This means major rewrite of my backup procedure.  Thanks for pointing
> this out. I will likely just switch to pg_basebackup. What I have is
> something old and gnarly from the days of psql version 8.

You could try https://github.com/cybertec-postgresql/safe-backup
to make the transition smoother.

Yours,
Laurenz Albe