From: Noah Misch Date: Mon, 1 Apr 2019 02:32:48 +0000 (-0700) Subject: Update HINT for pre-existing shared memory block. X-Git-Tag: REL_12_BETA1~352 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5a907404b52753c4d6c6a7c21765aeaa42fd6a3b;p=thirdparty%2Fpostgresql.git Update HINT for pre-existing shared memory block. One should almost always terminate an old process, not use a manual removal tool like ipcrm. Removal of the ipcclean script eleven years ago (39627b1ae680cba44f6e56ca5facec4fdbfe9495) and its non-replacement corroborate that manual shm removal is now a niche goal. Back-patch to 9.4 (all supported versions). Reviewed by Daniel Gustafsson and Kyotaro HORIGUCHI. Discussion: https://postgr.es/m/20180812064815.GB2301738@rfd.leadboat.com --- diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c index bd2e4e89d86..c180a9910d4 100644 --- a/src/backend/utils/init/miscinit.c +++ b/src/backend/utils/init/miscinit.c @@ -1066,14 +1066,10 @@ CreateLockFile(const char *filename, bool amPostmaster, if (PGSharedMemoryIsInUse(id1, id2)) ereport(FATAL, (errcode(ERRCODE_LOCK_FILE_EXISTS), - errmsg("pre-existing shared memory block " - "(key %lu, ID %lu) is still in use", + errmsg("pre-existing shared memory block (key %lu, ID %lu) is still in use", id1, id2), - errhint("If you're sure there are no old " - "server processes still running, remove " - "the shared memory block " - "or just delete the file \"%s\".", - filename))); + errhint("Terminate any old server processes associated with data directory \"%s\".", + refName))); } }