From 741ee48900c5bbf970f23d32e49020408e417bdc Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 25 Jan 2019 21:14:31 -0500 Subject: Allow UNLISTEN in hot-standby mode. Since LISTEN is (still) disallowed, UNLISTEN must be a no-op in a hot-standby session, and so there's no harm in allowing it. This change allows client code to not worry about whether it's connected to a primary or standby server when performing session-state-reset type activities. (Note that DISCARD ALL, which includes UNLISTEN, was already allowed, making it inconsistent to reject UNLISTEN.) Per discussion, back-patch to all supported versions. Shay Rojansky, reviewed by Mi Tar Discussion: https://postgr.es/m/CADT4RqCf2gA_TJtPAjnGzkC3ZiexfBZiLmA-mV66e4UyuVv8bA@mail.gmail.com --- src/backend/tcop/utility.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/backend/tcop') diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index c41b3506605..1bafd4e84d2 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -619,7 +619,7 @@ standard_ProcessUtility(Node *parsetree, { UnlistenStmt *stmt = (UnlistenStmt *) parsetree; - PreventCommandDuringRecovery("UNLISTEN"); + /* we allow UNLISTEN during recovery, as it's a noop */ CheckRestrictedOperation("UNLISTEN"); if (stmt->conditionname) Async_Unlisten(stmt->conditionname); -- cgit v1.2.3