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(-)


-- 
Sent via pgsql-committers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

Reply via email to