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邮件列表上寻求帮助.

相关文章

文章浏览阅读601次。Oracle的数据导入导出是一项基本的技能,...
文章浏览阅读553次。开头还是介绍一下群,如果感兴趣polardb...
文章浏览阅读3.5k次,点赞3次,收藏7次。折腾了两个小时多才...
文章浏览阅读2.7k次。JSON 代表 JavaScript Object Notation...
文章浏览阅读2.9k次,点赞2次,收藏6次。navicat 连接postgr...
文章浏览阅读1.4k次。postgre进阶sql,包含分组排序、JSON解...