Re: PGconn and fork - Mailing list pgsql-interfaces

From Tom Lane
Subject Re: PGconn and fork
Date
Msg-id 21910.1368021806@sss.pgh.pa.us
Whole thread Raw
In response to PGconn and fork  (Rodrigo Barboza <rodrigombufrj@gmail.com>)
Responses Re: PGconn and fork  (Rodrigo Barboza <rodrigombufrj@gmail.com>)
List pgsql-interfaces
Rodrigo Barboza <rodrigombufrj@gmail.com> writes:
> I have a program in C, the createas a connection, do stuff, fork, exit
> child and continues life.
> Supose that when I create de PGconn, I have 1 active connection in postgres.
> When I fork, does it count as a second connection? I mean, will postrges
> interpretate 2 active connections or they only share the same connection?
> I know that if the child process execute some query, I can get unexpected
> results, but it doesn't, so I am safe about that.
> I'm only worried that this can increase the number of connections and reach
> the limit of max_connections.

No, the child process will just have another reference to the open
socket that connects to the server.  The reason why it's dangerous
to send queries from such a process is exactly that, to the server,
it looks like the same connection as the parent process.
        regards, tom lane



pgsql-interfaces by date:

Previous
From: Rodrigo Barboza
Date:
Subject: PGconn and fork
Next
From: Rodrigo Barboza
Date:
Subject: Re: PGconn and fork