• Michael Paquier's avatar
    Clean up temporary WAL segments after an instance crash · 5fc1008e
    Michael Paquier authored
    Temporary WAL segments are created in pg_wal and named as xlogtemp.pid
    before being renamed to the real deal when creating a new segment.  If
    an instance crashes after the temporary segment is created and before
    the rename is done, then the server would finish with unremovable data.
    
    After an instance crash, scan pg_wal and remove any such segments.  With
    repetitive unlucky crashes this would contribute to disk bloat and
    presents risks of ENOSPC especially with max_wal_size close to the
    maximum allowed.
    
    Author: Michael Paquier
    Reviewed-by: Yugo Nagata, Heikki Linnakangas
    Discussion: https://postgr.es/m/20180514054955.GF1528@paquier.xyz
    5fc1008e
xlog.c 387 KB