Confusing error message in 15.6

Started by Dmitry O Litvintsevalmost 2 years ago5 messagesgeneral
Jump to latest
#1Dmitry O Litvintsev
litvinse@fnal.gov

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})

Thanks,
Dmitry

#2David G. Johnston
david.g.johnston@gmail.com
In reply to: Dmitry O Litvintsev (#1)
Re: Confusing error message in 15.6

On Tue, May 21, 2024, 17:29 Dmitry O Litvintsev <litvinse@fnal.gov> 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.

Show quoted text
#3David G. Johnston
david.g.johnston@gmail.com
In reply to: David G. Johnston (#2)
Re: Confusing error message in 15.6

On Tuesday, May 21, 2024, David G. Johnston <david.g.johnston@gmail.com>
wrote:

On Tue, May 21, 2024, 17:29 Dmitry O Litvintsev <litvinse@fnal.gov> wrote:

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.

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.

#4Dmitry O Litvintsev
litvinse@fnal.gov
In reply to: David G. Johnston (#2)
Re: Confusing error message in 15.6

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 <david.g.johnston@gmail.com>
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 <litvinse@fnal.gov<mailto:litvinse@fnal.gov>> 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.

#5Laurenz Albe
laurenz.albe@cybertec.at
In reply to: Dmitry O Litvintsev (#4)
Re: Confusing error message in 15.6

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

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.

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