From: | p(dot)sun(dot)fun(at)gmail(dot)com |
---|---|
To: | pgsql-sql(at)lists(dot)postgresql(dot)org |
Subject: | Re: libpq CREATE DATABASE operation from multiple treads |
Date: | 2020-10-08 20:04:24 |
Message-ID: | e532a64faac43651d4bec947409d42365607767f.camel@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hi Tom.
Thanks for the quick response. In the function that I execute in each
thread, I create a new PGconn at the beginning. I expect that every
function caller (thread) should use a unique PGconn. I would not expect
that PGconn can be shared between threads. The documentation explicitly
says that.
On Thu, 2020-10-08 at 15:57 -0400, Tom Lane wrote:
> p(dot)sun(dot)fun(at)gmail(dot)com writes:
> > I run this function using only one thread and everything works
> > great.
> > If I use two threads, the PQresultStatus(res) != PGRES_COMMAND_OK.
>
> Are you trying to use the same PGconn from multiple threads? That
> will not work --- at least not without interlocks that libpq on
> its own does not provide.
>
> > Can the server handle CREATE DATABASE requests in parallel?
>
> Sure. But they have to be issued over different connections.
> Any given connection can only do one thing at a time.
>
> regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Dmitry Igrishin | 2020-10-08 20:15:19 | Re: libpq CREATE DATABASE operation from multiple treads |
Previous Message | Tom Lane | 2020-10-08 19:57:03 | Re: libpq CREATE DATABASE operation from multiple treads |