From: Tom Lane Date: Mon, 30 Aug 2004 03:50:24 +0000 (+0000) Subject: Dept. of second thoughts: it'd be a good idea to flush buffers X-Git-Tag: REL8_0_0BETA2~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=09c6ac951335cbcf7954d109ee77d6557466224f;p=thirdparty%2Fpostgresql.git 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. --- diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c index 38696cf7070..1c9425789aa 100644 --- a/src/backend/commands/dbcommands.c +++ b/src/backend/commands/dbcommands.c @@ -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 /*