James Sebastian <james.sebastian@gmail.com> writes: > I attempted application stop and database shutdown using init scripts > followed by start. > The database failed to restart with the following error.
> 2015-07-30 14:14:17 IST LOG: received immediate shutdown request > ... > The whole recovery took more than 2.5 hours to complete to come back to a > state to accept connections back. This caused considerable disruption in > normal service.
If you use "immediate" mode shutdown, then yes, crash recovery is what will ensue. Think of that as being like the large red panic button that dumps the fuel rods out of a nuclear reactor: you push that button only when disaster is otherwise certain, because recovering will be slow and expensive.
For an ordinary clean shutdown, you use "fast" mode, or "smart" mode if you're not expecting any long-lived client sessions.
(If you're using a wrapper script that defaults to "immediate" mode, I'd advise changing that default.)
I am using default /etc/init.d/postgresql start|stop scripts. I will check if it is using ordinary clean shutdown
Also, if it took that long to recover, you might have raised the checkpoint interval settings too high.
I am using the following parameters
checkpoint_segments = 10 (from OS default 3) checkpoint_completion_target = 0.8 (from OS default 0.5)