Re: multiple threads using one connection

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Robert Gruszka <rgruszka(at)power(dot)com(dot)pl>
Cc: pgsql-interfaces(at)postgresql(dot)org
Subject: Re: multiple threads using one connection
Date: 2006-02-28 15:09:50
Message-ID: 20060228150950.GC6343@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

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.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Bruce Momjian 2006-02-28 18:17:07 Re: multiple threads using one connection
Previous Message Robert Gruszka 2006-02-28 12:35:46 multiple threads using one connection