Hi, it has bugged me for a long time that there's no clear "PostgreSQL is starting" message in the server log file. I'd like to change that for two reasons:
* when reading a long log file, it's not entirely clear where a new server startup begins. It was worse in the past (first message was "database system was shut down at..." which rather looks like a shutdown message to newbie users), now it's "listening on IPv6..." but that message might possibly become DEBUG1, or listen_addresses might become changeable at run-time * while upgrading servers, it's useful to know which server version was actually started if there are several startup attempts The change would be to log "Starting PG_VERSION_STR" as early as possible. A startup looks like this: 2018-11-21 15:19:47.259 CET [24453] LOG: listening on IPv6 address "::1", port 5431 2018-11-21 15:19:47.259 CET [24453] LOG: listening on IPv4 address "127.0.0.1", port 5431 2018-11-21 15:19:47.315 CET [24453] LOG: listening on Unix socket "/tmp/.s.PGSQL.5431" 2018-11-21 15:19:47.394 CET [24453] LOG: starting PostgreSQL 12devel on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.2.0-9) 8.2.0, 64-bit 2018-11-21 15:19:47.426 CET [24454] LOG: database system was shut down at 2018-11-21 15:15:35 CET 2018-11-21 15:19:47.460 CET [24453] LOG: database system is ready to accept connections (I'd rather put the start message before the listening messages, but I think the startup message should be logged via logging_collector, and listening is logged before the log file is opened.) Christoph -- Senior Berater, Tel.: +49 2166 9901 187 credativ GmbH, HRB Mönchengladbach 12080, USt-ID-Nummer: DE204566209 Trompeterallee 108, 41189 Mönchengladbach Geschäftsführung: Dr. Michael Meskes, Jörg Folz, Sascha Heuer Unser Umgang mit personenbezogenen Daten unterliegt folgenden Bestimmungen: https://www.credativ.de/datenschutz
>From 49f786a26110ca55d12c47f75e8662047e78c5c8 Mon Sep 17 00:00:00 2001 From: Christoph Berg <christoph.b...@credativ.de> Date: Wed, 21 Nov 2018 15:43:34 +0100 Subject: [PATCH] Log PostgreSQL version number on startup Logging the PostgreSQL version on startup is useful for two reasons: There is a clear marker in the log file that a new postmaster is beginning, and it's useful for tracking the server version across startup while upgrading. --- src/backend/postmaster/postmaster.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index a33a131182..e0abfd686a 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -1306,6 +1306,10 @@ PostmasterMain(int argc, char *argv[]) whereToSendOutput = DestNone; + /* Report server startup in log */ + ereport(LOG, + (errmsg("starting %s", PG_VERSION_STR))); + /* * Initialize stats collection subsystem (this does NOT start the * collector process!) -- 2.19.1