Thread: [jnasby@pervasive.com: [BUGS] Race condition in dropdb;createdb]

[jnasby@pervasive.com: [BUGS] Race condition in dropdb;createdb]

From
"Jim C. Nasby"
Date:
Never got a reply on -bugs... do people think this is an issue?

----- Forwarded message from "Jim C. Nasby" <jnasby@pervasive.com> -----
decibel@phonebook.1[17:32]~:1%createdb test;
CREATE DATABASE
decibel@phonebook.1[17:32]~:2%dropdb test; createdb test;
DROP DATABASE
createdb: database creation failed: ERROR:  source database "template1"
is being accessed by other users
decibel@phonebook.1[17:32]~:3%

I realize that the changes made in 8.1 WRT using the postgres database
fix this particular case, but is there a bigger issue with there being a
race condition here? Presumably dropdb returns before the connection is
actually closed from the database's standpoint...
-- 
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461


Re: [jnasby@pervasive.com: [BUGS] Race condition in dropdb;createdb]

From
Tom Lane
Date:
"Jim C. Nasby" <jnasby@pervasive.com> writes:
> Never got a reply on -bugs... do people think this is an issue?

Not really.

The only way to fix it would be to make PQfinish do a synchronous
close, which seems like more of a performance loss than it's worth.
        regards, tom lane