diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 0224877e60ea6e63acb60a75df6434249cec4a35..6b128682b6b565b40e8a750979e95a3bddd01256 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)));