This is a discussion on dropdb lock within the pgsql Hackers forums, part of the PostgreSQL category; --> In dbcommands.c::dropdb() there are these lines: /* Close pg_database, but keep exclusive lock till commit */ heap_close(pgdbrel, NoLock); However, ...
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| In dbcommands.c::dropdb() there are these lines: /* Close pg_database, but keep exclusive lock till commit */ heap_close(pgdbrel, NoLock); However, ISTM that if I return early from that function because the db doesn't exist I should release the lock immediately. Or is there something I have missed? Is that the only cleanup I would need for the IF EXISTS case (looks like it to me)? cheers andrew ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq |
| ||||
| Andrew Dunstan <andrew@dunslane.net> writes: > In dbcommands.c::dropdb() there are these lines: > /* Close pg_database, but keep exclusive lock till commit */ > heap_close(pgdbrel, NoLock); > However, ISTM that if I return early from that function because the db > doesn't exist I should release the lock immediately. Or is there > something I have missed? Should be OK to drop the lock if you didn't change anything. OTOH, it probably doesn't matter much since we don't allow dropdb inside a transaction block; commit is going to happen shortly anyhow. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings |