Re: libpq CREATE DATABASE operation from multiple treads
От | p.sun.fun@gmail.com |
---|---|
Тема | Re: libpq CREATE DATABASE operation from multiple treads |
Дата | |
Msg-id | cf26fe0aca8ce2769334ac4781a01eba89311b0e.camel@gmail.com обсуждение исходный текст |
Ответ на | Re: libpq CREATE DATABASE operation from multiple treads (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: libpq CREATE DATABASE operation from multiple treads
|
Список | pgsql-sql |
On Thu, 2020-10-08 at 16:36 -0400, Tom Lane wrote: > p.sun.fun@gmail.com writes: > > Indeed, this is a FATAL_ERROR. From two threads I got: > > // Thread #1 > > FATAL_ERROR: ERROR: source database "template1" is being accessed > > by > > other users > > DETAIL: There is 1 other session using the database. > > You'd be better off to connect to some other database than template1; What would be the best strategy to create a database from user standpoint of view? If we have an API to create a database on a server. The user doesn't know about database(s) yet. The possible option would be: to check the result status and if is not COMMAND_OK, probably connection should be dropped and established again. May be not so elegant but at least safe and stable. > not only just for this purpose, but in general. If you are issuing > random commands in template1, there's a risk of modifying that > database > unexpectedly and thereby changing the contents of databases created > in future. > > regards, tom lane
В списке pgsql-sql по дате отправления: