commit 7d058b6c8f6eac8da354b7777bb5f30e98e930e1 Author: Alexander Korotkov Date: Fri Feb 21 14:51:33 2020 +0300 Remove some dead code and docs related to -n postmaster option Also fix outdated comments related to postmaster options. Discussion: https://postgr.es/m/flat/b3a85c5d-56a8-677b-5578-86d94654eb5c%40postgrespro.ru Author: Anastasia Lubennikova Reviewed-by: Alexander Korotkov diff --git a/doc/src/sgml/ref/postgres-ref.sgml b/doc/src/sgml/ref/postgres-ref.sgml index 1a4b7c7825d..f902c1c590e 100644 --- a/doc/src/sgml/ref/postgres-ref.sgml +++ b/doc/src/sgml/ref/postgres-ref.sgml @@ -427,24 +427,6 @@ PostgreSQL documentation - - - - - This option is for debugging problems that cause a server - process to die abnormally. The ordinary strategy in this - situation is to notify all other server processes that they - must terminate and then reinitialize the shared memory and - semaphores. This is because an errant server process could - have corrupted some shared state before terminating. This - option specifies that postgres will - not reinitialize shared data structures. A knowledgeable - system programmer can then use a debugger to examine shared - memory and semaphore state. - - - - diff --git a/src/backend/main/main.c b/src/backend/main/main.c index c0d1fcde065..fba1c4fd69f 100644 --- a/src/backend/main/main.c +++ b/src/backend/main/main.c @@ -335,7 +335,6 @@ help(const char *progname) printf(_("\nDeveloper options:\n")); printf(_(" -f s|i|n|m|h forbid use of some plan types\n")); - printf(_(" -n do not reinitialize shared memory after abnormal exit\n")); printf(_(" -O allow system table structure changes\n")); printf(_(" -P disable system indexes\n")); printf(_(" -t pa|pl|ex show timings after each query\n")); diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index b3986bee75f..b86281acd86 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -225,11 +225,11 @@ static char ExtraOptions[MAXPGPATH]; /* * These globals control the behavior of the postmaster in case some * backend dumps core. Normally, it kills all peers of the dead backend - * and reinitializes shared memory. By specifying -s or -n, we can have + * and reinitializes shared memory. By specifying -T, we can have * the postmaster stop (rather than kill) peers and not reinitialize - * shared data structures. (Reinit is currently dead code, though.) + * shared data structures. It lets us analyze the full postgres state + * after crash. */ -static bool Reinit = true; static int SendStop = false; /* still more option variables */ @@ -678,7 +678,7 @@ PostmasterMain(int argc, char *argv[]) * tcop/postgres.c (the option sets should not conflict) and with the * common help() function in main/main.c. */ - while ((opt = getopt(argc, argv, "B:bc:C:D:d:EeFf:h:ijk:lN:nOo:Pp:r:S:sTt:W:-:")) != -1) + while ((opt = getopt(argc, argv, "B:bc:C:D:d:EeFf:h:ijk:lN:Oo:Pp:r:S:sTt:W:-:")) != -1) { switch (opt) { @@ -748,11 +748,6 @@ PostmasterMain(int argc, char *argv[]) SetConfigOption("max_connections", optarg, PGC_POSTMASTER, PGC_S_ARGV); break; - case 'n': - /* Don't reinit shared mem after abnormal exit */ - Reinit = false; - break; - case 'O': SetConfigOption("allow_system_table_mods", "true", PGC_POSTMASTER, PGC_S_ARGV); break; @@ -3544,7 +3539,7 @@ HandleChildCrash(int pid, int exitstatus, const char *procname) * * SIGQUIT is the special signal that says exit without proc_exit * and let the user know what's going on. But if SendStop is set - * (-s on command line), then we send SIGSTOP instead, so that we + * (-T on command line), then we send SIGSTOP instead, so that we * can get core dumps from all backends by hand. * * We could exclude dead_end children here, but at least in the