|
|
|
|
@ -7,7 +7,7 @@ |
|
|
|
|
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group |
|
|
|
|
* Portions Copyright (c) 1994, Regents of the University of California |
|
|
|
|
* |
|
|
|
|
* $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.340 2009/05/15 15:56:39 tgl Exp $ |
|
|
|
|
* $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.341 2009/05/28 11:02:16 heikki Exp $ |
|
|
|
|
* |
|
|
|
|
*------------------------------------------------------------------------- |
|
|
|
|
*/ |
|
|
|
|
@ -6085,7 +6085,18 @@ ShutdownXLOG(int code, Datum arg) |
|
|
|
|
if (RecoveryInProgress()) |
|
|
|
|
CreateRestartPoint(CHECKPOINT_IS_SHUTDOWN | CHECKPOINT_IMMEDIATE); |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
/*
|
|
|
|
|
* If archiving is enabled, rotate the last XLOG file so that all the |
|
|
|
|
* remaining records are archived (postmaster wakes up the archiver |
|
|
|
|
* process one more time at the end of shutdown). The checkpoint |
|
|
|
|
* record will go to the next XLOG file and won't be archived (yet). |
|
|
|
|
*/ |
|
|
|
|
if (XLogArchivingActive() && XLogArchiveCommandSet()) |
|
|
|
|
RequestXLogSwitch(); |
|
|
|
|
|
|
|
|
|
CreateCheckPoint(CHECKPOINT_IS_SHUTDOWN | CHECKPOINT_IMMEDIATE); |
|
|
|
|
} |
|
|
|
|
ShutdownCLOG(); |
|
|
|
|
ShutdownSUBTRANS(); |
|
|
|
|
ShutdownMultiXact(); |
|
|
|
|
|