diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2019-01-25 21:14:31 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2019-01-25 21:14:31 -0500 |
commit | 549d2a238a7062c3f0647f96fc00d21c6c103ce1 (patch) | |
tree | 88716b255f2ae2a9151375685827634f356161b2 /src/backend/tcop/utility.c | |
parent | 6d6333745b11530e46037fb5e2bbf357c0973dbd (diff) |
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
Diffstat (limited to 'src/backend/tcop/utility.c')
-rw-r--r-- | src/backend/tcop/utility.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index 872c2e9ce5a..3aa49d9079b 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -608,7 +608,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); |