Re: Memory leak in WAL sender with pgoutput (v10~)

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, Euler Taveira <euler@eulerto.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-12-05T04:52:19Z
Lists: pgsql-hackers
On Thu, Dec 05, 2024 at 04:31:56AM +0000, Zhijie Hou (Fujitsu) wrote:
> I realized that this patch cannot be backpatched because it introduces a new
> field into the public PGOutputData structure. Therefore, I think we may need to
> use Alvaro's version [1] for the back branches.
> 
> [1] https://www.postgresql.org/message-id/202411300828.hwe55pzx5a4x%40alvherre.pgsql

Thanks for the patch.

For HEAD it should be as good as it can be as it avoids the problem of 
CacheMemoryContext bloating for your case and my case.  Alvaro's patch
would not take care of your case, unfortunately, but I'm less worried
about this case in the back branches and we don't track the parent
context where StartupDecodingContext() has begun its work when
building PGOutputData.  Thoughts?
--
Michael

Commits

  1. Fix memory leak in pgoutput with relation attribute map

  2. Fix memory leak in pgoutput with publication list cache

  3. Allow specifying row filters for logical replication of tables.