Skip to content

Commit 74cfe3e

Browse files
knizhnikKonstantin Knizhnik
andauthored
Upadte last written LSN after walloging all createdb stuff (#307)
Co-authored-by: Konstantin Knizhnik <[email protected]>
1 parent 026d6b0 commit 74cfe3e

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/backend/commands/dbcommands.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -486,8 +486,6 @@ CreateDirAndVersionFile(char *dbpath, Oid dbid, Oid tsid, bool isRedo)
486486

487487
lsn = XLogInsert(RM_DBASE_ID, XLOG_DBASE_CREATE_WAL_LOG);
488488

489-
SetLastWrittenLSNForDatabase(lsn);
490-
491489
/* As always, WAL must hit the disk before the data update does. */
492490
XLogFlush(lsn);
493491
}
@@ -615,7 +613,6 @@ CreateDatabaseUsingFileCopy(Oid src_dboid, Oid dst_dboid, Oid src_tsid,
615613
/* Record the filesystem change in XLOG */
616614
{
617615
xl_dbase_create_file_copy_rec xlrec;
618-
XLogRecPtr lsn;
619616

620617
xlrec.db_id = dst_dboid;
621618
xlrec.tablespace_id = dsttablespace;
@@ -626,10 +623,8 @@ CreateDatabaseUsingFileCopy(Oid src_dboid, Oid dst_dboid, Oid src_tsid,
626623
XLogRegisterData((char *) &xlrec,
627624
sizeof(xl_dbase_create_file_copy_rec));
628625

629-
lsn = XLogInsert(RM_DBASE_ID,
626+
(void) XLogInsert(RM_DBASE_ID,
630627
XLOG_DBASE_CREATE_FILE_COPY | XLR_SPECIAL_REL_UPDATE);
631-
632-
SetLastWrittenLSNForDatabase(lsn);
633628
}
634629
pfree(srcpath);
635630
pfree(dstpath);
@@ -1403,6 +1398,11 @@ createdb(ParseState *pstate, const CreatedbStmt *stmt)
14031398
CreateDatabaseUsingFileCopy(src_dboid, dboid, src_deftablespace,
14041399
dst_deftablespace);
14051400

1401+
/*
1402+
* Update global last written LSN after wal-logging create database command
1403+
*/
1404+
SetLastWrittenLSNForDatabase(XactLastRecEnd);
1405+
14061406
/*
14071407
* Close pg_database, but keep lock till commit.
14081408
*/

0 commit comments

Comments
 (0)