Change pg_ctl's default shutdown mode from smart to fast (Bruce Momjian)
This means the default behavior will be to forcibly cancel existing database sessions, not simply wait for them to exit.
So if the PostgreSQL version is 9.4 or lower, and there are any open connections, the pg_ctl will wait until all connections terminate (either normally or
are forced off). That "might " explain why pg_ctl never terminated (unless -m fast was also specified). However, if it is version 9.5 or above, then
-m fast is the default so existing connections will not be a problem.
--
Melvin Davidson I reserve the right to fantasize. Whether or not you wish to share my fantasy is entirely up to you.