| From: | Etsuro Fujita <efujita(at)postgresql(dot)org> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: postgres_fdw: Fix handling of abort-cleanup-failed connections. |
| Date: | 2026-05-05 09:58:35 |
| Message-ID: | E1wKCXz-000RRx-37@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
postgres_fdw: Fix handling of abort-cleanup-failed connections.
As connections that failed abort cleanup can't safely be further used,
if a remote query tries to get such a connection, we reject it.
Previously, this rejection involved dropping the connection if it was
open, without accounting for the possibility of open cursors using it,
causing a server crash when such an open cursor tried to use an
already-dropped connection, as a cursor-handling function
(create_cursor, fetch_more_data, or close_cursor) was called on a freed
PGconn. To fix, delay dropping failed connections until abort cleanup
of the main transaction, to ensure open cursors using such a connection
can safely refer to the PGconn for it.
Oversight in commit 8bf58c0d9.
Reported-by: Zhibai Song <songzhibai1234(at)gmail(dot)com>
Diagnosed-by: Zhibai Song <songzhibai1234(at)gmail(dot)com>
Author: Etsuro Fujita <etsuro(dot)fujita(at)gmail(dot)com>
Reviewed-by: Michael Paquier <michael(at)paquier(dot)xyz>
Reviewed-by: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>
Reviewed-by: Matheus Alcantara <matheusssilv97(at)gmail(dot)com>
Discussion: https://postgr.es/m/CAPmGK176y6JP017-Cn%2BhS9CEJx_6iVhRoYbAqzuLU4d8-XPPNg%40mail.gmail.com
Backpatch-through: 14
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/648818ba3876fb3e43faffea729eccba969eefab
Modified Files
--------------
contrib/postgres_fdw/connection.c | 10 ++--
contrib/postgres_fdw/expected/postgres_fdw.out | 76 ++++++++++++++++++++++++++
contrib/postgres_fdw/sql/postgres_fdw.sql | 51 +++++++++++++++++
3 files changed, 133 insertions(+), 4 deletions(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Etsuro Fujita | 2026-05-05 09:58:36 | pgsql: postgres_fdw: Fix handling of abort-cleanup-failed connections. |
| Previous Message | Peter Eisentraut | 2026-05-05 09:28:38 | pgsql: doc: Clean up title case use |