Re: detecting binary backup in progress

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
Cc: Joe Conway <mail(at)joeconway(dot)com>, "Hackers (PostgreSQL)" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: detecting binary backup in progress
Date: 2013-05-31 20:06:40
Message-ID: 20130531200640.GH4606@awork2.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2013-05-31 20:09:45 Re: Running pgindent
Previous Message Alvaro Herrera 2013-05-31 19:55:55 Re: detecting binary backup in progress