微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – 如何优雅地杀死陈旧的服务器进程postgres

偶尔在我们的实验室中,我们的postgres 8.3数据库将从pid文件获取孤立,并且在尝试关闭数据库时会收到此消息:

错误:pid文件无效,请手动终止过时的服务器进程postgres

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

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

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐