Re: Pre-forking backend - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Pre-forking backend
Date
Msg-id 200109292029.f8TKTiR23997@candle.pha.pa.us
Whole thread Raw
In response to Re: Pre-forking backend  ("Ken Hirsch" <kenhirsch@myself.com>)
Responses Re: Pre-forking backend
List pgsql-hackers
> Bruce Momjian wrote:
> > Tom Lane wrote:
> > > Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > > > How hard would it be to pre-fork an extra backend
> > >
> > > How are you going to pass the connection socket to an already-forked
> > > child process?  AFAIK there's no remotely portable way ...
> >
> > No idea but it seemed like a nice optimization if we could do it.
> 
> What can be done is to have the parent process open and listen() on the
> socket, then have each child do an accept() on the socket.   That way you
> don't have to pass the socket. The function of the parent process would then
> be only to decide when to start new children.
> 
> On some operating systems, only one child at a time can accept() on the
> socket.  On these, you have to lock around the call to accept().

But how do you know the client wants the database you have forked?  They
could want a different one.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


pgsql-hackers by date:

Previous
From: "Ken Hirsch"
Date:
Subject: Re: Pre-forking backend
Next
From: Tom Lane
Date:
Subject: Re: Pre-forking backend