Use durable_unlink for .ready and .done files for WAL segment removal

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Postgres hackers <pgsql-hackers@postgresql.org>
Date: 2018-09-28T03:28:27Z
Lists: pgsql-hackers

Attachments

Hi all,

While reviewing the archiving code, I have bumped into the fact that
XLogArchiveCleanup() thinks that it is safe to do only a plain unlink()
for .ready and .done files when removing a past segment.  I don't think
that it is a smart move, as on a subsequent crash we may still see
those, but the related segment would have gone away.  This is not really
a problem for .done files, but it could confuse the archiver to see some
.ready files about things that have already gone away.

Attached is a patch.  Thoughts?
--
Michael

Commits

  1. Ensure cleanup of orphan archive status files