pgsql: Remove temporary files after backend crash - Mailing list pgsql-committers

From Tomas Vondra
Subject pgsql: Remove temporary files after backend crash
Date
Msg-id E1lMvft-0006he-Iw@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Remove temporary files after backend crash

After a crash of a backend using temporary files, the files used to be
left behind, on the basis that it might be useful for debugging. But we
don't have any reports of anyone actually doing that, and it means the
disk usage may grow over time due to repeated backend failures (possibly
even hitting ENOSPC). So this behavior is a bit unfortunate, and fixing
it required either manual cleanup (deleting files, which is error-prone)
or restart of the instance (i.e. service disruption).

This implements automatic cleanup of temporary files, controled by a new
GUC remove_temp_files_after_crash. By default the files are removed, but
it can be disabled to restore the old behavior if needed.

Author: Euler Taveira
Reviewed-by: Tomas Vondra, Michael Paquier, Anastasia Lubennikova, Thomas Munro
Discussion: https://postgr.es/m/CAH503wDKdYzyq7U-QJqGn%3DGm6XmoK%2B6_6xTJ-Yn5WSvoHLY1Ww%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/cd91de0d17952b5763466cfa663e98318f26d357

Modified Files
--------------
doc/src/sgml/config.sgml                      |  17 +++
src/backend/postmaster/postmaster.c           |   5 +
src/backend/storage/file/fd.c                 |  12 +-
src/backend/utils/misc/guc.c                  |   9 ++
src/backend/utils/misc/postgresql.conf.sample |   2 +
src/include/postmaster/postmaster.h           |   1 +
src/test/recovery/t/022_crash_temp_files.pl   | 192 ++++++++++++++++++++++++++
7 files changed, 233 insertions(+), 5 deletions(-)


pgsql-committers by date:

Previous
From: Magnus Hagander
Date:
Subject: pgsql: Fix function name in error hint
Next
From: Tomas Vondra
Date:
Subject: pgsql: Implement GROUP BY DISTINCT