Fujii,
> I guess that the startup process and the walreceiver should wait
> for all read only backends to exit in smart shutdown case. It's
> because those backends might be waiting for the record that conflicts
> with their queries to be replayed. Is this OK? Or we should kill the
> startup process and the walreceiver on ahead?
>
> If my guess is right, we would need to add new PMState to cancel
> recovery and replication after all read only connections have died.
How could existing read queries on the slave be waiting on a WAL record?
I don't follow this.
--Josh Berkus