From: | p(dot)sun(dot)fun(at)gmail(dot)com |
---|---|
To: | "pgsql-sql(at)lists(dot)postgresql(dot)org" <pgsql-sql(at)lists(dot)postgresql(dot)org> |
Subject: | Re: libpq CREATE DATABASE operation from multiple treads |
Date: | 2020-10-09 03:33:04 |
Message-ID: | 9109e992e899b2ed39b070cd12ecdbcdf435fbb6.camel@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Thu, 2020-10-08 at 16:56 -0400, Tom Lane wrote:
> Rob Sargent <robjsargent(at)gmail(dot)com> writes:
> > OK, well that’s a special db. Didn’t know it was that special,
> > though!
>
> It's not that special. The issue here is that each session is
> connecting
> to template1 and then trying to clone template1. You can't clone an
> active database, because you might not get a consistent copy. CREATE
> DATABASE knows that its own session isn't concurrently making any
> changes, so it allows copying the current database --- but it can't
> know what some other session is doing, so if it sees some other
> session
> is also connected to the source database, it spits up.
>
> As I already said, routinely connecting to template1 is pretty bad
> practice to start with, so the preferred answer is "don't do that".
>
> regards, tom lane
Thank you, guys. I will switch to the "postgres" database as a default
one. IMHO, it is worth adding to the documentation into the CREATE
DATABASE section. I am glad that PostgreSQL has a strong community that
stays behind the product.
From | Date | Subject | |
---|---|---|---|
Next Message | Guillaume Lelarge | 2020-10-09 03:44:19 | Re: libpq CREATE DATABASE operation from multiple treads |
Previous Message | Tom Lane | 2020-10-08 20:57:34 | Re: libpq CREATE DATABASE operation from multiple treads |