Skip to content

Execute UNLISTEN unconditionally in connection reset query #698

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

elprans
Copy link
Member

@elprans elprans commented Feb 10, 2021

Currently, UNLISTEN in connection release is guarded by an
expensive PL/pgSQL block, because historically PostgreSQL
did not allow UNLISTEN on a hot standby node. This has since
changed, and UNLISTEN is allowed in PostgreSQL 9.4.21+, 9.5.16+,
9.6.12+, 10.7+, 11.2+, and versions 12 and newer. If this change
breaks your setup, upgrade your server.

The removal of the PL/pgSQL guard reduces the acquire/release overhead
by over 50%.

Upstream discussion: https://postgr.es/m/CADT4RqCf2gA_TJtPAjnGzkC3ZiexfBZiLmA-mV66e4UyuVv8bA@mail.gmail.com

Fixes: #648

Currently, `UNLISTEN` in connection release is guarded by an
expensive PL/pgSQL block, because historically PostgreSQL
did not allow `UNLISTEN` on a hot standby node.  This has since
changed, and `UNLISTEN` is allowed in PostgreSQL 9.4.21+, 9.5.16+,
9.6.12+, 10.7+, 11.2+, and versions 12 and newer.  If this change
breaks your setup, upgrade your server.

The removal of the PL/pgSQL guard reduces the `acquire`/`release` overhead
by over 50%.

Upstream discussion: https://postgr.es/m/CADT4RqCf2gA_TJtPAjnGzkC3ZiexfBZiLmA-mV66e4UyuVv8bA@mail.gmail.com

Fixes: #648
@elprans elprans requested a review from fantix February 10, 2021 05:17
@elprans elprans closed this Feb 10, 2021
@elprans elprans deleted the unlisten branch February 10, 2021 05:20
@fantix
Copy link
Member

fantix commented Feb 10, 2021

Shortest-lived PR ever 😆

@elprans
Copy link
Member Author

elprans commented Feb 10, 2021

I didn't realize the work was already done in #648.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants