Re: multiple threads using one connection

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Robert Gruszka <rgruszka(at)power(dot)com(dot)pl>, pgsql-interfaces(at)postgresql(dot)org
Subject: Re: multiple threads using one connection
Date: 2006-02-28 18:17:07
Message-ID: 200602281817.k1SIH7l10966@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Alvaro Herrera wrote:
> Robert Gruszka wrote:
> > Hi,
> >
> > I have multi-thread application written in Ada which uses APQ. All
> > threads use the same connection (can't afford one connection per
> > thread). I compiled libpq with --enable-thread-safty option.
> > When two threads try to execute a query at the same time one of them is
> > blocked and even when the other one finishes it is not unblocked.
>
> The libpq API is not really intended to be used by multiple threads
> simultaneously (unless you make sure only one thread is submitting a
> query and waiting for the result at any time).
>
> The --enable-thread-safety flag is merely to ensure that the calls to
> other libraries (Kerberos, etc) are handled in a thread-safe manner. It
> doesn't have any effect on the thread safety of the libpq API itself.

Just to clarify, libpq is thread-safe is each thread uses its own
connection object.

--
Bruce Momjian http://candle.pha.pa.us
SRA OSS, Inc. http://www.sraoss.com

+ If your life is a hard drive, Christ can be your backup. +

In response to

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Eugene Prokopiev 2006-02-28 18:27:29 Python psycopg transaction isolation level
Previous Message Alvaro Herrera 2006-02-28 15:09:50 Re: multiple threads using one connection