On Sun, Oct 17, 2021 at 10:52:38AM -0400, Tom Lane wrote: > I am, however, concerned that this'll just trade off one hazard for > another. Instead of a risk of failing with ENOSPC (which the DBA > can fix), we'll have a risk of kneecapping some other process at > random (which the DBA can do nothing to prevent).
I tend to agree, and along with semas patch would like to suggest error message improvement, it would have saved me about half a day of digging. Tested on OpenBSD 7.0. I'm not a native speaker though, so grammar need to be checked. diff --git a/src/backend/port/sysv_sema.c b/src/backend/port/sysv_sema.c index 21c883ba9a..b84f70b5e2 100644 --- a/src/backend/port/sysv_sema.c +++ b/src/backend/port/sysv_sema.c @@ -133,7 +133,10 @@ InternalIpcSemaphoreCreate(IpcSemaphoreKey semKey, int numSems) "respective kernel parameter. Alternatively, reduce PostgreSQL's " "consumption of semaphores by reducing its max_connections parameter.\n" "The PostgreSQL documentation contains more information about " - "configuring your system for PostgreSQL.") : 0)); + "configuring your system for PostgreSQL.\n" + "If server has crashed previously there may be resources left " + "after it - take a look at ipcs(1) and ipcrm(1) man pages to see " + "how to remove them.") : 0)); } return semId;