Re: [HACKERS] postmaster crash and .s.pgsql file

Marc G. Fournier <scrappy@hub.org>

From: The Hermit Hacker <scrappy@hub.org>
To: James Hughes <jamesh@interpath.com>
Cc: Goran Thyni <goran@bildbasen.se>, maillist@candle.pha.pa.us, hackers@postgreSQL.org
Date: 1998-01-28T03:31:14Z
Lists: pgsql-hackers
On Tue, 27 Jan 1998, James Hughes wrote:

> On 27 Jan 1998, Goran Thyni wrote:
> 
> : 
> :    On Mon, 26 Jan 1998, Bruce Momjian wrote:
> : 
> :    : 
> :    : When the postmaster crashes, it leaves the /tmp/.s.pgsql file in /tmp.
> :    : Is there a way to auto-remove it after a postmaster crash?
> :    : 
> 
> <snip>
> 
> :    I will look at removing the file on startup when I'm in there.
> : 
> : Don't, it gets removed at shutdown except when crashing.
> : Removing at startup opens a whole new can of worms.
> : (You must no postmaster is not already running.)
> : 
> 
> How about in postmaster.c (arround line 427), when starting up...
> 
> 	1.) Check for the existence of a pid file.
> 
> 	2.) If one is there, read the pid and see if a back end is alive.
> 
> 	3.) If so, warn the user and exit.
> 
> 	4.) If not, check for and cleanup any leftover files.
> 
> 	5.) Continue with startup process.
> 
> 		...wouldn't this work OK? 

	A thought.  Why not change the startup routine such that instead
of creating /tmp/.s.PGSQL.5432, create a subdirectory that contains both
the socket (.socket) and the PID file?  Given time, I could see us adding
in some stats to the postmaster process, similar to named, where you
SIGUSR2 the process and it dumps a status file and that too could get
dumped there.

	Just a thought...

Marc G. Fournier                                
Systems Administrator @ hub.org 
primary: scrappy@hub.org           secondary: scrappy@{freebsd|postgresql}.org