Thread: pgsql: Fix WAL file replacement during cascading replication on Windows

pgsql: Fix WAL file replacement during cascading replication on Windows

From
Heikki Linnakangas
Date:
Fix WAL file replacement during cascading replication on Windows.

When the startup process restores a WAL file from the archive, it deletes
any old file with the same name and renames the new file in its place. On
Windows, however, when a file is deleted, it still lingers as long as a
process holds a file handle open on it. With cascading replication, a
walsender process can hold the old file open, so the rename() in the startup
process would fail. To fix that, rename the old file to a temporary name, to
make the original file name available for reuse, before deleting the old
file.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/ab9a14e903347929d248ac4dabe2614de482350b

Modified Files
--------------
src/backend/access/transam/xlog.c |   28 +++++++++++++++++++++++++++-
1 files changed, 27 insertions(+), 1 deletions(-)