send_abort_for_kill 是一个 配置参数,它决定在后端崩溃后,是向子进程发送 SIGABRT 信号,还是像通常那样发送 SIGKILL 信号。
send_abort_for_kill 是在 PostgreSQL 16 中添加的。
默认值
send_abort_for_kill 的默认值为: off。
用法
在正常操作中,后端崩溃后,postmaster 会向子进程发送 SIGQUIT 信号,旨在使它们能够相对优雅地退出,如果5秒后进程仍在运行,则发送 SIGKILL 信号。
如果将 send_abort_for_kill 设置为 "on",则会改发送 SIGABRT 信号,如果本地系统配置为这样做,那么所有被 SIGKILL 信号终止的子进程都会生成核心转储文件。
此选项仅用于开发目的,不应在生产环境中使用。
按 PostgreSQL 版本详细信息
send_abort_for_kill (PostgreSQL 19)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 向卡住的子进程发送 SIGABRT 而不是 SIGKILL。 |
| 扩展描述 | |
| 上下文 | sighup |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
send_abort_for_kill (PostgreSQL 18)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 向卡住的子进程发送 SIGABRT 而不是 SIGKILL。 |
| 扩展描述 | |
| 上下文 | sighup |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
send_abort_for_kill (PostgreSQL 17)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 向卡住的子进程发送 SIGABRT 而不是 SIGKILL。 |
| 扩展描述 | |
| 上下文 | sighup |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
send_abort_for_kill (PostgreSQL 16)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 向卡住的子进程发送 SIGABRT 而不是 SIGKILL。 |
| 扩展描述 | |
| 上下文 | sighup |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
变更历史
- PostgreSQL 16
- 添加于 (提交 51b5834c)
参考资料
- PostgreSQL 文档: send_abort_for_kill
