diff -up bind-9.3.6-P1/contrib/sdb/pgsql/pgsqldb.c.rh533229 bind-9.3.6-P1/contrib/sdb/pgsql/pgsqldb.c --- bind-9.3.6-P1/contrib/sdb/pgsql/pgsqldb.c.rh533229 2010-08-11 16:02:34.284875161 +0200 +++ bind-9.3.6-P1/contrib/sdb/pgsql/pgsqldb.c 2010-08-11 16:12:54.134442615 +0200 @@ -34,6 +34,7 @@ #include <dns/result.h> #include <named/globals.h> +#include <named/log.h> #include "pgsqldb.h" @@ -275,9 +276,12 @@ pgsqldb_create(const char *zone, int arg if (argc > 4) STRDUP_OR_FAIL(dbi->passwd, argv[4]); + /* If connection fails then retry in _allnodes or _lookup functions */ result = db_connect(dbi); if (result != ISC_R_SUCCESS) - goto cleanup; + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, + NS_LOGMODULE_SERVER, ISC_LOG_ERROR, + "Failed to connect to PostgreSQL database"); *dbdata = dbi; return (ISC_R_SUCCESS);