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


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to