pgsql: Improve memory management in autovacuum.c.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Improve memory management in autovacuum.c.
Date: 2017-09-23 17:28:18
Message-ID: E1dvoDy-0006aY-Ru@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Improve memory management in autovacuum.c.

Invoke vacuum(), as well as "work item" processing, in the PortalContext
that do_autovacuum() has manufactured, which will be reset before each
such invocation. This ensures cleanup of any memory leaked by these
operations. It also avoids the rather dangerous practice of calling
vacuum() in a context that vacuum() itself will destroy while it runs.
There's no known live bug there, but it's not hard to imagine introducing
one if we leave it like this.

Tom Lane, reviewed by Michael Paquier and Alvaro Herrera

Discussion: https://postgr.es/m/13849.1506114543@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/335f3d04e4c8dd495c4dd30ab1049b6fe8f25052

Modified Files
--------------
src/backend/postmaster/autovacuum.c | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Fabien COELHO 2017-09-23 17:57:40 Re: pgsql: Remove pgbench "progress" test pending solution of its timing is
Previous Message Tom Lane 2017-09-23 17:02:36 pgsql: Remove pgbench "progress" test pending solution of its timing is