The following bug has been logged online:
Bug reference: 5628
Logged by: Itagaki Takahiro
Email address: itagaki.takahiro@gmail.com
PostgreSQL version: 9.0b4 (32bit)
Operating system: Windows 7 (64bit)
Description: 9.0beta4 failed automatic crash recovery
Details:
9.0beta4 seems to fail automatic crash recovery after
some of backend processes crashed, though 8.2 succeeded
to recover. This is a rare error case, but some logic
for shared memory might be broken between versions.
I crashed a backend as a test manually with "pg_ctl kill":
pg_ctl kill QUIT <backend-pid>
9.0 server has gone with the following logs:
----
WARNING: terminating connection because of crash of another server process
...
LOG: all server processes terminated; reinitializing
FATAL: pre-existing shared memory block is still in use
HINT: Check if there are any old server processes still running, and
terminate them.
----
But 8.2 can recover as expected:
----
WARNING: terminating connection because of crash of another server process
...
LOG: all server processes terminated; reinitializing
LOG: database system was interrupted at <timestamp>
----