From: Neil Conway Date: Wed, 17 Nov 2004 02:22:54 +0000 (+0000) Subject: Don't allow pg_start_backup() to be invoked if archive_command has not X-Git-Tag: REL8_0_0BETA5~48 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b25d23e1e60429f960d4e0ca951d87c1ffe737cb;p=postgresql Don't allow pg_start_backup() to be invoked if archive_command has not been defined. Patch from Gavin Sherry, editorializing by Neil Conway. --- diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 0224877e60..6b128682b6 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.176 2004/11/05 17:10:56 petere Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.177 2004/11/17 02:22:54 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -5266,6 +5266,14 @@ pg_start_backup(PG_FUNCTION_ARGS) ereport(ERROR, (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), (errmsg("must be superuser to run a backup")))); + + if (!XLogArchivingActive()) + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + (errmsg("WAL archiving is not configured"), + (errhint("archive_command must be defined before " + "online backups can be safely made."))))); + backupidstr = DatumGetCString(DirectFunctionCall1(textout, PointerGetDatum(backupid)));