Re: Fixing memory leaks in postgres_fdw
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Etsuro Fujita <etsuro.fujita@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2025-05-26T19:36:14Z
Lists: pgsql-hackers
Attachments
- v4-0001-Fix-memory-leakage-in-postgres_fdw-s-DirectModify.patch (text/x-diff) patch v4-0001
- v4-0002-Reap-the-benefits-of-not-having-to-avoid-leaking-.patch (text/x-diff) patch v4-0002
- v4-0003-Run-pgindent-on-the-changes-of-the-previous-patch.patch (text/x-diff) patch v4-0003
- v4-0004-Silence-leakage-complaint-about-postgres_fdw-s-In.patch (text/x-diff) patch v4-0004
- v4-0005-Avoid-leak-when-dblink_connstr_check-fails.patch (text/x-diff) patch v4-0005
Here's a v4 that is actually more or less feature-complete: it removes no-longer-needed complexity such as PG_TRY blocks. I've checked that Valgrind shows no leaks in the postgres_fdw and dblink tests after applying this on top of my other patch series. 0001 is like the previous version except that I took out some inessential simplifications to get to the minimum possible patch. Then 0002 does all the simplifications. Removal of PG_TRY blocks implies reindenting a lot of code, but I made that a separate patch 0003 for ease of review. (0003 would be a candidate for adding to .git-blame-ignore-revs, perhaps.) 0004 is the old 0002 (still unmodified) and then 0005 cleans up one remaining leakage observed by Valgrind. regards, tom lane
Commits
-
Silence leakage complaint about postgres_fdw's InitPgFdwOptions.
- 0f9d4d7c12dc 19 (unreleased) landed
-
Run pgindent on the changes of the previous patch.
- 73873805fb36 19 (unreleased) landed
-
Reap the benefits of not having to avoid leaking PGresults.
- 80aa9848befc 19 (unreleased) landed
-
Create infrastructure to reliably prevent leakage of PGresults.
- 7d8f59577924 19 (unreleased) landed
-
Fix memory leakage in postgres_fdw's DirectModify code path.
- 9339c85afc91 17.6 landed
- 4a07c096132c 14.19 landed
- 3c31594f55cd 15.14 landed
- 2b92dc4eeb51 16.10 landed
- 271cb7eaa7c8 13.22 landed
- 232d8caeaaa6 18.0 landed
-
Avoid resource leaks when a dblink connection fails.
- e7d3d4ed412e 13.22 landed
- e20b3256ae46 17.6 landed
- 8eef55db13fe 16.10 landed
- 470273da0ff7 18.0 landed
- 2cd2222ca5f4 14.19 landed
- 09c9ae8f6d3a 15.14 landed