From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Michael Akinde <michael(dot)akinde(at)met(dot)no> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Large object loading stalls |
Date: | 2009-02-20 15:17:46 |
Message-ID: | 8473.1235143066@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Michael Akinde <michael(dot)akinde(at)met(dot)no> writes:
> Anyway - the situation now is that just the loading process is hanging
> on the server, with an <IDLE> in transaction. But it is definitely the
> loading program that is hanging, not the Postgres server.
What the stack traces seem to show is that both the client and the
server are waiting for each other to send some data. Which means
somebody's bollixed the protocol.
In the past we've seen this type of thing caused by multithreaded
client programs in which more than one thread tried to use the same
PGconn object without adequate interlocking. libpq itself does not
provide any threading guards --- if you want more than one thread
accessing a PGconn then it's up to you to use a mutex or something
to serialize them. Is it possible this case applies here?
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Ivan Sergio Borgonovo | 2009-02-20 15:51:33 | Re: where to divide application and database |
Previous Message | David Fetter | 2009-02-20 14:50:22 | Re: where to divide application and database |