Excerpts from Tom Lane's message of lun nov 15 02:41:40 -0300 2010:
> I believe also that there are probably race conditions in several of
> the steps you listed; in particular there is certainly a risk involved
> in changing the database-we-advertise-being-connected-to versus a
> concurrent DROP DATABASE. Maybe that's easily soluble, but I'm not sure
> about it.
Perhaps it would help to first disconnect from the original database and
not reconnect to any one in particular, i.e. stay in a state like the
autovac launcher is in. Then cleanup as per Robert's list, then switch
to a valid database ID.
--
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support