From: | Shay Rojansky <roji(at)roji(dot)org> |
---|---|
To: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | [PATCH] Allow UNLISTEN during recovery |
Date: | 2018-11-18 16:49:01 |
Message-ID: | CADT4RqCf2gA_TJtPAjnGzkC3ZiexfBZiLmA-mV66e4UyuVv8bA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi all,
Here is a tiny patch removing PreventCommandDuringRecovery() for UNLISTEN.
See previous discussion in
https://www.postgresql.org/message-id/CADT4RqBweu7QKRYAYzeRW77b%2BMhJdUikNe45m%2BfL4GJSq_u2Fg%40mail.gmail.com
.
In a nutshell, this prevents an error being raised when UNLISTEN is issued
during recovery. The operation is a no-op (since LISTEN is still
disallowed). This logic here is that some clients (namely Npgsql) issue
UNLISTEN * to clear connection state (in the connection pool), but this
needlessly breaks when the backend is in recovery.
On a related note, there currently doesn't seem to be a good way for
clients to know whether the backend is in recovery. As a backend can come
out of recovery at any point, perhaps an asynchronous ParameterStatus
announcing this state change could be useful.
Hopefully this also qualifies for backporting to earlier version branches.
Shay
Attachment | Content-Type | Size |
---|---|---|
allow-UNLISTEN-during-recovery.patch | text/x-patch | 519 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Dunstan | 2018-11-18 17:46:14 | Re: _isnan() on Windows |
Previous Message | Dmitry Dolgov | 2018-11-18 11:18:33 | Re: New GUC to sample log queries |