Parameter · Developer Options
send_abort_for_kill
Send SIGABRT not SIGKILL to stuck child processes.
- Default:
off - Type: bool
- Applies: Reload
In plain words
During a crash restart or immediate shutdown, a process that has not quit 5 seconds after being asked is killed forcibly. With this setting it is aborted instead, leaving a core dump that shows where it was stuck.
For DBAs and operators
After sending SIGQUIT, the postmaster waits 5 seconds. Children still running are normally sent SIGKILL (and the log says issuing SIGKILL to recalcitrant children). With send_abort_for_kill = on it sends SIGABRT and logs issuing SIGABRT to recalcitrant children, so the core shows exactly what the stuck process was doing (often a hung I/O, an extension, or a signal-handling bug). Same core-dump prerequisites and disk-space warning as send_abort_for_crash.
Developer option: meant for debugging and testing PostgreSQL itself. Leave it at the default on production servers unless a specific diagnosis calls for it.
How to change it
Change in postgresql.conf or ALTER SYSTEM, then run SELECT pg_reload_conf().