From a383c55a1d8bfab3d5840ae522c1d0bb07f2fb1f Mon Sep 17 00:00:00 2001
From: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Tue, 16 Mar 2010 09:09:55 +0000
Subject: [PATCH] Throw a nicer error message if a standby server attempts to
 connect while the master is still in recovery. We don't support cascading
 slaves yet.

Patch by Fujii Masao, with slightly changed wording.
---
 src/backend/replication/walsender.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c
index 2a2765645e4..0a648e72e17 100644
--- a/src/backend/replication/walsender.c
+++ b/src/backend/replication/walsender.c
@@ -30,7 +30,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/replication/walsender.c,v 1.9 2010/02/26 02:00:58 momjian Exp $
+ *	  $PostgreSQL: pgsql/src/backend/replication/walsender.c,v 1.10 2010/03/16 09:09:55 heikki Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -119,6 +119,11 @@ WalSenderMain(void)
 				(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
 				 errmsg("must be superuser to start walsender")));
 
+	if (RecoveryInProgress())
+		ereport(FATAL,
+				(errcode(ERRCODE_CANNOT_CONNECT_NOW),
+				 errmsg("recovery is still in progress, can't accept WAL streaming connections")));
+
 	/* Create a per-walsender data structure in shared memory */
 	InitWalSnd();
 
-- 
GitLab