{
/* Don't be chatty in standalone mode */
ereport(IsPostmasterEnvironment ? LOG : NOTICE,
- (errmsg("shutting down at %s", current_time_as_str())));
+ (errmsg("shutting down")));
if (RecoveryInProgress())
CreateRestartPoint(CHECKPOINT_IS_SHUTDOWN | CHECKPOINT_IMMEDIATE);
RequestXLogSwitch();
CreateCheckPoint(CHECKPOINT_IS_SHUTDOWN | CHECKPOINT_IMMEDIATE);
-
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "shutdown checkpoint complete at %s",
- current_time_as_str());
}
ShutdownCLOG();
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "ShutdownCLOG() complete at %s",
- current_time_as_str());
ShutdownCommitTs();
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "ShutdownCommitTs() complete at %s",
- current_time_as_str());
ShutdownSUBTRANS();
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "ShutdownSUBTRANS() complete at %s",
- current_time_as_str());
ShutdownMultiXact();
/* Don't be chatty in standalone mode */
ereport(IsPostmasterEnvironment ? LOG : NOTICE,
- (errmsg("database system is shut down at %s", current_time_as_str())));
+ (errmsg("database system is shut down")));
}
/*
XLogFlush(recptr);
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "checkpoint WAL record flushed at %s", current_time_as_str());
-
/*
* We mustn't write any new WAL after a shutdown checkpoint, or it will be
* overwritten at next startup. No-one should even try, this just allows
UpdateControlFile();
LWLockRelease(ControlFileLock);
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "pg_control updated at %s", current_time_as_str());
-
/* Update shared-memory copy of checkpoint XID/epoch */
SpinLockAcquire(&XLogCtl->info_lck);
XLogCtl->ckptXidEpoch = checkPoint.nextXidEpoch;
*/
smgrpostckpt();
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "smgrpostckpt() done at %s", current_time_as_str());
-
/*
* Delete old log files (those no longer needed even for previous
* checkpoint or the standbys in XLOG streaming).
KeepLogSeg(recptr, &_logSegNo);
_logSegNo--;
RemoveOldXlogFiles(_logSegNo, PriorRedoPtr, recptr);
-
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "RemoveOldXlogFiles() done at %s", current_time_as_str());
}
/*
* StartupSUBTRANS hasn't been called yet.
*/
if (!RecoveryInProgress())
- {
TruncateSUBTRANS(GetOldestXmin(NULL, false));
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "TruncateSUBTRANS() done at %s", current_time_as_str());
- }
/* Real work is done, but log and update stats before releasing lock. */
LogCheckpointEnd(false);
static void
CheckPointGuts(XLogRecPtr checkPointRedo, int flags)
{
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "CheckPointGuts starting at %s", current_time_as_str());
CheckPointCLOG();
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "CheckPointCLOG() done at %s", current_time_as_str());
CheckPointCommitTs();
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "CheckPointCommitTs() done at %s", current_time_as_str());
CheckPointSUBTRANS();
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "CheckPointSUBTRANS() done at %s", current_time_as_str());
CheckPointMultiXact();
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "CheckPointMultiXact() done at %s", current_time_as_str());
CheckPointPredicate();
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "CheckPointPredicate() done at %s", current_time_as_str());
CheckPointRelationMap();
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "CheckPointRelationMap() done at %s", current_time_as_str());
CheckPointReplicationSlots();
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "CheckPointReplicationSlots() done at %s", current_time_as_str());
CheckPointSnapBuild();
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "CheckPointSnapBuild() done at %s", current_time_as_str());
CheckPointLogicalRewriteHeap();
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "CheckPointLogicalRewriteHeap() done at %s", current_time_as_str());
CheckPointBuffers(flags); /* performs all required fsyncs */
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "CheckPointBuffers() done at %s", current_time_as_str());
CheckPointReplicationOrigin();
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "CheckPointReplicationOrigin() done at %s", current_time_as_str());
/* We deliberately delay 2PC checkpointing as long as possible */
CheckPointTwoPhase(checkPointRedo);
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "CheckPointGuts done at %s", current_time_as_str());
}
/*
/* Normal exit from the autovac launcher is here */
shutdown:
ereport(LOG,
- (errmsg("autovacuum launcher shutting down at %s",
- current_time_as_str())));
+ (errmsg("autovacuum launcher shutting down")));
AutoVacuumShmem->av_launcherpid = 0;
proc_exit(0); /* done */
break;
Shutdown = SmartShutdown;
ereport(LOG,
- (errmsg("received smart shutdown request at %s",
- current_time_as_str())));
+ (errmsg("received smart shutdown request")));
#ifdef USE_SYSTEMD
sd_notify(0, "STOPPING=1");
#endif
break;
Shutdown = FastShutdown;
ereport(LOG,
- (errmsg("received fast shutdown request at %s",
- current_time_as_str())));
+ (errmsg("received fast shutdown request")));
#ifdef USE_SYSTEMD
sd_notify(0, "STOPPING=1");
#endif
break;
Shutdown = ImmediateShutdown;
ereport(LOG,
- (errmsg("received immediate shutdown request at %s",
- current_time_as_str())));
+ (errmsg("received immediate shutdown request")));
#ifdef USE_SYSTEMD
sd_notify(0, "STOPPING=1");
#endif
*/
Assert(Shutdown > NoShutdown);
- elog(LOG, "checkpointer dead at %s",
- current_time_as_str());
-
/* Waken archiver for the last time */
if (PgArchPID != 0)
signal_child(PgArchPID, SIGUSR2);
if (ReachedNormalRunning)
CancelBackup();
- elog(LOG, "all children dead at %s",
- current_time_as_str());
-
/* Normal exit from the postmaster is here */
ExitPostmaster(0);
}
UnlockBufHdr(bufHdr);
}
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "BufferSync(%x) beginning to write %d buffers at %s",
- flags, num_to_write, current_time_as_str());
-
if (num_to_write == 0)
return; /* nothing to do */
if (num_written >= num_to_write)
break;
- if ((num_written % 1024) == 0)
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "BufferSync(%x) wrote %d/%d buffers at %s",
- flags, num_written, num_to_write, current_time_as_str());
-
/*
* Sleep to throttle our I/O rate.
*/
buf_id = 0;
}
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "BufferSync(%x) done, wrote %d/%d buffers at %s",
- flags, num_written, num_to_write, current_time_as_str());
-
/*
* Update checkpoint statistics. As noted above, this doesn't include
* buffers written by other backends or bgwriter scan.
void
proc_exit(int code)
{
- bool noisy = AmCheckpointerProcess() || (getpid() == PostmasterPid);
-
/* Clean up everything that must be cleaned up */
proc_exit_prepare(code);
elog(DEBUG3, "exit(%d)", code);
- if (noisy)
- elog(LOG, "calling exit(%d) at %s",
- code, current_time_as_str());
-
exit(code);
}
static void
proc_exit_prepare(int code)
{
- bool noisy = AmCheckpointerProcess() || (getpid() == PostmasterPid);
-
/*
* Once we set this flag, we are committed to exit. Any ereport() will
* NOT send control back to the main loop, but right back here.
* possible.
*/
while (--on_proc_exit_index >= 0)
- {
- if (noisy)
- elog(LOG, "doing on_proc_exit %d at %s",
- on_proc_exit_index, current_time_as_str());
(*on_proc_exit_list[on_proc_exit_index].function) (code,
on_proc_exit_list[on_proc_exit_index].arg);
- }
on_proc_exit_index = 0;
}
void
shmem_exit(int code)
{
- bool noisy = AmCheckpointerProcess() || (getpid() == PostmasterPid);
-
/*
* Call before_shmem_exit callbacks.
*
elog(DEBUG3, "shmem_exit(%d): %d before_shmem_exit callbacks to make",
code, before_shmem_exit_index);
while (--before_shmem_exit_index >= 0)
- {
- if (noisy)
- elog(LOG, "doing before_shmem_exit %d at %s",
- before_shmem_exit_index, current_time_as_str());
(*before_shmem_exit_list[before_shmem_exit_index].function) (code,
before_shmem_exit_list[before_shmem_exit_index].arg);
- }
before_shmem_exit_index = 0;
/*
elog(DEBUG3, "shmem_exit(%d): %d on_shmem_exit callbacks to make",
code, on_shmem_exit_index);
while (--on_shmem_exit_index >= 0)
- {
- if (noisy)
- elog(LOG, "doing on_shmem_exit %d at %s",
- on_shmem_exit_index, current_time_as_str());
(*on_shmem_exit_list[on_shmem_exit_index].function) (code,
on_shmem_exit_list[on_shmem_exit_index].arg);
- }
on_shmem_exit_index = 0;
}
if (entry->cycle_ctr == mdckpt_cycle_ctr)
break;
- if ((list_length(pendingUnlinks) % 1024) == 0)
- elog(IsPostmasterEnvironment ? LOG : NOTICE,
- "in mdpostckpt, %d unlinks remain to do at %s",
- list_length(pendingUnlinks), current_time_as_str());
-
/* Unlink the file */
path = relpathperm(entry->rnode, MAIN_FORKNUM);
if (unlink(path) < 0)
return result;
}
-/*
- * Quick hack.
- */
-const char *
-current_time_as_str(void)
-{
- static char buf[128];
- struct timeval now_timeval;
- pg_time_t now;
- char msbuf[8];
-
- gettimeofday(&now_timeval, NULL);
- now = (pg_time_t) now_timeval.tv_sec;
-
- pg_strftime(buf, sizeof(buf),
- /* leave room for milliseconds... */
- "%Y-%m-%d %H:%M:%S %Z",
- pg_localtime(&now, log_timezone));
-
- /* 'paste' milliseconds into place... */
- sprintf(msbuf, ".%03d", (int) (now_timeval.tv_usec / 1000));
- memcpy(buf + 19, msbuf, 4);
-
- return buf;
-}
/*-------------------------------------------------------------------------
* Interlock-file support
}
/* Since we're about to exit, no need to reclaim storage */
lock_files = NIL;
-
- if (IsPostmasterEnvironment)
- elog(LOG, "lock files all released at %s", current_time_as_str());
}
/*
}
-/*
- * Quick hack.
- */
-const char *
-current_time_as_str(void)
-{
- static char buf[128];
- struct timeval now_timeval;
- time_t now;
- char msbuf[8];
-
- gettimeofday(&now_timeval, NULL);
- now = (time_t) now_timeval.tv_sec;
-
- strftime(buf, sizeof(buf),
- /* leave room for milliseconds... */
- "%Y-%m-%d %H:%M:%S %Z",
- localtime(&now));
-
- /* 'paste' milliseconds into place... */
- sprintf(msbuf, ".%03d", (int) (now_timeval.tv_usec / 1000));
- memcpy(buf + 19, msbuf, 4);
-
- return buf;
-}
-
static void
do_stop(void)
{
"Shutdown will not complete until pg_stop_backup() is called.\n\n"));
}
- if (!silent_mode)
- {
- fprintf(stdout, _("waiting for server to shut down at %s..."),
- current_time_as_str());
- fflush(stdout);
- }
+ print_msg(_("waiting for server to shut down..."));
for (cnt = 0; cnt < wait_seconds; cnt++)
{
{
print_msg(_(" failed\n"));
- write_stderr(_("%s: server does not shut down at %s\n"),
- progname, current_time_as_str());
+ write_stderr(_("%s: server does not shut down\n"), progname);
if (shutdown_mode == SMART_MODE)
write_stderr(_("HINT: The \"-m fast\" option immediately disconnects sessions rather than\n"
"waiting for session-initiated disconnection.\n"));
#define LOCK_FILE_LINE_LISTEN_ADDR 6
#define LOCK_FILE_LINE_SHMEM_KEY 7
-extern const char *current_time_as_str(void);
extern void CreateDataDirLockFile(bool amPostmaster);
extern void CreateSocketLockFile(const char *socketfile, bool amPostmaster,
const char *socketDir);