]> 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:52:12 +0000 (18:52 -0700)
commitab9a14e903347929d248ac4dabe2614de482350b
tree09688dad61a59a2fbb96b7159d72eb09f3745bed
parent2e0cc1f031387fc304d11e55df0f9566d91698ff
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