Re: detecting binary backup in progress - Mailing list pgsql-hackers

From Andres Freund
Subject Re: detecting binary backup in progress
Date
Msg-id 20130531200640.GH4606@awork2.anarazel.de
Whole thread Raw
In response to Re: detecting binary backup in progress  (Heikki Linnakangas <hlinnakangas@vmware.com>)
Responses Re: detecting binary backup in progress
List pgsql-hackers
On 2013-05-31 22:53:14 +0300, Heikki Linnakangas wrote:
> On 31.05.2013 22:36, Andres Freund wrote:
> >On 2013-05-31 22:29:45 +0300, Heikki Linnakangas wrote:
> >>Note that pg_is_in_backup() just checks for presence of
> >>$PGDATA/backup_label. Also note that pg_basebackup doesn't create
> >>backup_label in the server. It's included in the backup that's sent to the
> >>client, but it's never written to disk in the server. So checking for
> >>backup_label manually or with pg_is_in_backup() will return false even if
> >>pg_basebackup is running.
> >
> >Whoa. You are right, but I'd call that a bug. I don't understand why we
> >aren't just checking
> >XLogCtl->Insert.(nonExclusiveBackups||exlusiveBackup)?
> 
> Well, depends on what you imagine the function is used for. If you think of
> it as "will pg_start_backup() throw an error if I call it now", or "do I
> need to call pg_stop_backup()", then the current behavior is correct.
> 
> The manual says:
> >pg_is_in_backup()     bool     True if an on-line exclusive backup is still in progress.
> 
> So clearly that is intentional. 

Well, just because it's intentional, doesn't mean its a good idea
;). There very well are reasons to check for in progress non-exclusive
backups as well. You e.g. wouldn't want to restart the database while
the weekly base backup of your 1TB database is in progress, just because
it's done via the replication protocol.

If we weren't in beta 1 already I'd vote for making it into:
pg_backup_in_progress(OUT bool exclusive, OUT int non_exclusive) or
similar. Perhaps we should do that anyway?

> That could use some rephrasing, though; a layman won't know what an
> "exclusive backup" is.

True. Although I have to admit I can't come up with a succinct name for
it it right now.

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: detecting binary backup in progress
Next
From: Bruce Momjian
Date:
Subject: Re: Running pgindent