'kill -9' PID will force all backends to flush cache for no good reason.;-) Yes, you are on the right. "kill -9", is the last try, but often you have to do "kill -9" for killing a procces, even sometimes, 'kill -9' does not work (often when the process is acceding to a hardware device - a CD for example -).
Note that on most unixes, a plain kill PID will send the term signal, which tells the process to poltely shutdown and release resources. kill -9 is like using a sledge hammer to swat a fly for this.
---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster
---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html