Dept. of second thoughts: it'd be a good idea to flush buffers

during replay of CREATE DATABASE as well as the first time around.
Else it's possible that the copy operation will copy obsolete blocks.
We are still a long way from guaranteeing anything about using a
recently-written database as a CREATE template, but this seems needed
to ensure the existing behavior holds up during replay.
This commit is contained in:
Tom Lane 2004-08-30 03:50:24 +00:00
parent 3afd7eaffd
commit 09c6ac9513
1 changed files with 8 additions and 1 deletions

View File

@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/commands/dbcommands.c,v 1.143 2004/08/30 02:54:38 momjian Exp $
* $PostgreSQL: pgsql/src/backend/commands/dbcommands.c,v 1.144 2004/08/30 03:50:24 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -1136,6 +1136,13 @@ dbase_redo(XLogRecPtr lsn, XLogRecord *record)
dst_path)));
}
/*
* Force dirty buffers out to disk, to ensure source database is
* up-to-date for the copy. (We really only need to flush buffers for
* the source database...)
*/
BufferSync(-1, -1);
#ifndef WIN32
/*