Re: Improve shutdown during online backup

From: Simon Riggs <simon(at)2ndquadrant(dot)com>
To: Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>
Cc: Heikki Linnakangas *EXTERN* <heikki(at)enterprisedb(dot)com>, pgsql-patches(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Improve shutdown during online backup
Date: 2008-04-16 10:07:09
Message-ID: 1208340429.4259.65.camel@ebony.site
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

On Tue, 2008-04-08 at 09:16 +0200, Albe Laurenz wrote:

> Heikki Linnakangas wrote:
> > Albe Laurenz wrote:
> >> Moreover, if Shutdown == SmartShutdown, new connections won't be accepted,
> >> and nobody can connect and call pg_stop_backup().
> >> So even if I'd add a check for
> >> (pmState == PM_WAIT_BACKENDS) && !BackupInProgress() somewhere in the
> >> ServerLoop(), it wouldn't do much good, because the only way for somebody
> >> to cancel online backup mode would be to manually remove the file.
> >
> > Good point.
> >
> >> So the only reasonable thing to do on smart shutdown during an online
> >> backup is to have the shutdown request fail, right? The only alternative being
> >> that a smart shutdown request should interrupt online backup mode.
> >
> > Or we can add another state, PM_WAIT_BACKUP, before PM_WAIT_BACKENDS,
> > that allows new connections, and waits until the backup ends.
>
> That's an option. Maybe it is possible to restrict connections to superusers
> (who are the only ones who can call pg_stop_backup() anyway).
>
> Or, we could allow superuser connections in state PM_WAIT_BACKENDS...

That sounds right.

Completely unrelated to backups, if you issue a smart shutdown and it
doesn't, you probably would like to connect and see what is happening
and why. The reason may not be a backup-in-progress.

Personally, I think "smart" shutdown could be even smarter. It should
kick off unwanted sessions, such as an idle pgAdmin session - maybe a
rule like "anything that has been idle for >30 seconds".

--
Simon Riggs
2ndQuadrant http://www.2ndQuadrant.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2008-04-16 10:07:14 Re: SET TRANSACTION not compliant with SQL:2003
Previous Message Heikki Linnakangas 2008-04-16 09:46:58 Re: Improving planner variable handling

Browse pgsql-patches by date

  From Date Subject
Next Message Pavel Stehule 2008-04-16 11:30:02 options for RAISE statement
Previous Message Brendan Jurd 2008-04-16 06:52:22 Re: [HACKERS] Text <-> C string