如何优雅地杀死陈旧的服务器进程 Postgres[英] how do I gracefully kill stale server process postgres

本文是小编为大家收集整理的关于如何优雅地杀死陈旧的服务器进程 Postgres的处理方法,想解了如何优雅地杀死陈旧的服务器进程 Postgres的问题怎么解决?如何优雅地杀死陈旧的服务器进程 Postgres问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

有时在我们的实验室中,我们的 postgres 8.3 数据库会从 pid 文件中分离出来,当我们尝试关闭数据库时会收到此消息:

Error: pid file is invalid, please manually kill the stale server process postgres

当这种情况发生时,我们立即执行 pg_dump 以便稍后恢复数据库.但是,如果我们只是杀死 -9 孤儿 postgres 进程然后启动它,则数据库仅使用上次成功关闭的数据启动.但是如果你在杀死它之前对它 psql ,数据都是可用的,这就是 pg_dump 起作用的原因.

有没有办法优雅地关闭孤立的 postgres 进程,这样我们就不必通过 pg_dump 和恢复?或者有没有办法在杀死孤立进程后让数据库恢复?

解决方案

根据文档 您可以发送 SIGTERM 或 SIGQUIT.SIGTERM 是首选.无论哪种方式,都不要使用 SIGKILL(正如您从个人经验中知道的那样).

编辑:另一方面,您遇到的情况不正常,可能表示配置错误或错误.请通过 pgsql-admin 邮件列表寻求帮助.

本文地址:https://www.itbaoku.cn/post/1764014.html