Re: detecting binary backup in progress
От | Heikki Linnakangas |
---|---|
Тема | Re: detecting binary backup in progress |
Дата | |
Msg-id | 51A8FA29.6070807@vmware.com обсуждение исходный текст |
Ответ на | Re: detecting binary backup in progress (Joe Conway <mail@joeconway.com>) |
Ответы |
Re: detecting binary backup in progress
Re: detecting binary backup in progress |
Список | pgsql-hackers |
On 31.05.2013 21:41, Joe Conway wrote: > On 05/31/2013 10:46 AM, Heikki Linnakangas wrote: >> On 31.05.2013 20:38, Joe Conway wrote: >>> I can check for the presence of $PGDATA/backup_label in order to >>> detect a backup in progress (i.e. pg_start_backup() has been run >>> and pg_stop_backup() has not yet been run). >>> >>> However there is a period of time after pg_start_backup() is >>> first executed to when it completes, during which backup_label >>> file does not exist yet, but the backup has essentially been >>> started. Is there any way to detect this state? >> >> What are you trying to accomplish? Even if you eliminate that >> window, it's always possible that a backup starts just after you've >> checked that there is no backup in progress. > > We can lay down a lockfile before checking for backup in progress, and > the script that starts the backup can check for the lockfile before > doing anything. There is still a race-window, but I want to minimize > it. pg_is_in_backup() mentioned nearby on this thread will help close > the gap. 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. - Heikki
В списке pgsql-hackers по дате отправления: