From: Bruce Momjian Date: Tue, 30 May 2006 13:31:01 +0000 (+0000) Subject: Prevent multiple archivers from starting. Backpatch to 8.1.X. X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=21a14b1871c4ff229bcda981427536763612f4f3;p=users%2Fbernd%2Fpostgres.git Prevent multiple archivers from starting. Backpatch to 8.1.X. Simon Riggs --- diff --git a/src/backend/catalog/pg_conversion.c b/src/backend/catalog/pg_conversion.c index 3941748e68..2c181bf19c 100644 --- a/src/backend/catalog/pg_conversion.c +++ b/src/backend/catalog/pg_conversion.c @@ -18,6 +18,7 @@ #include "catalog/dependency.h" #include "catalog/indexing.h" #include "catalog/pg_conversion.h" +#include "catalog/pg_namespace.h" #include "catalog/pg_proc.h" #include "catalog/namespace.h" #include "utils/builtins.h" @@ -124,6 +125,12 @@ ConversionCreate(const char *conname, Oid connamespace, recordDependencyOnOwner(ConversionRelationId, HeapTupleGetOid(tup), conowner); + /* create dependency on namespace */ + myself.classId = ConversionRelationId; + referenced.classId = NamespaceRelationId; + referenced.objectId = connamespace; + recordDependencyOn(&myself, &referenced, DEPENDENCY_NORMAL); + heap_freetuple(tup); heap_close(rel, RowExclusiveLock); diff --git a/src/backend/postmaster/pgarch.c b/src/backend/postmaster/pgarch.c index 46eba09334..e2fed0a820 100644 --- a/src/backend/postmaster/pgarch.c +++ b/src/backend/postmaster/pgarch.c @@ -352,7 +352,7 @@ pgarch_ArchiverCopyLoop(void) * some backend will add files onto the list of those that need archiving * while we are still copying earlier archives */ - while (pgarch_readyXlog(xlog)) + while (PostmasterIsAlive(true) && pgarch_readyXlog(xlog)) { int failures = 0;