There are several modes to stop the server, depending on the level of urgency. We'll do a comparison in view of the effects in each mode.
You can issue a database server stop
command using fast mode, as follows:
pg_ctl -D datadir -m fast stop
You must use -m fast
if you wish to shut down as soon as possible. Normal shutdown means "wait for all users to finish before we exit". That can take a very long time, though all the while new connections are refused.
On Debian/Ubuntu systems, this command can be as follows:
pg_ctlcluster 9.0 main stop --force
When you do a fast stop, all users have their transactions aborted and all connections are disconnected. This is not very polite to users, but it still treats the server and its data with care, which is good.
PostgreSQL is similar to other database systems in that it does do a shutdown checkpoint before it closes. This means that the startup that follows will be quick and clean. The...