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. That could use some rephrasing, though;
a layman won't know what an "exclusive backup" is.
- Heikki
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers