]> granicus.if.org Git - postgresql/commit
Fix WAL file replacement during cascading replication on Windows.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 6 Sep 2012 01:10:15 +0000 (18:10 -0700)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 6 Sep 2012 01:57:54 +0000 (18:57 -0700)
commit4b8dacfcef7ad16939ec8695019747fb45a80847
tree6e6737bb93f7fca799e930515531f9b0fcd4e35d
parent308d4ec4c677a2ced29b82dde811b1cbba8c3201
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.
src/backend/access/transam/xlog.c