Re: libpq CREATE DATABASE operation from multiple treads - Mailing list pgsql-sql

From p.sun.fun@gmail.com
Subject Re: libpq CREATE DATABASE operation from multiple treads
Date
Msg-id 9109e992e899b2ed39b070cd12ecdbcdf435fbb6.camel@gmail.com
Whole thread Raw
In response to Re: libpq CREATE DATABASE operation from multiple treads  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: libpq CREATE DATABASE operation from multiple treads  (Guillaume Lelarge <guillaume@lelarge.info>)
List pgsql-sql
On Thu, 2020-10-08 at 16:56 -0400, Tom Lane wrote:
> Rob Sargent <robjsargent@gmail.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. 




pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: libpq CREATE DATABASE operation from multiple treads
Next
From: Guillaume Lelarge
Date:
Subject: Re: libpq CREATE DATABASE operation from multiple treads