【问题标题】:postgres, ubuntu how to restart service on startup? get stuck on clustering after instance rebootpostgres,ubuntu如何在启动时重新启动服务?实例重启后卡在集群上
【发布时间】:2013-05-07 02:43:15
【问题描述】:

我有一个Postgres db 9.1AWS EC2 上运行,ubuntu 12.04

我在实例上搞砸了很多(即在我确定 9.1 之前安装了各种 postgres X.X)。

现在在该数据库上工作一个月后,我发现如果我重新启动我的实例 postgres 无法正确加载,它的状态会显示为“正在运行集群”。这将永远持续到我

sudo service postgresql restart

从终端,然后它再次工作。

如何将这一行添加到 ubuntu 启动中,以便每次加载时都会重新启动该服务,并希望能解决我的问题?

还有任何其他可能解决此问题的解决方案。

【问题讨论】:

  • 如果你是通过谷歌(和我一样)来这里寻找重启 postgresql 的命令,在我的例子中是 service postgresql-9.3 restart
  • 我将 Albert 的评论设为问答:stackoverflow.com/questions/52610485/…
  • 只是为了得到那个重启命令,得到了我想要的,谢谢

标签: ubuntu ubuntu-12.04 postgresql-9.1


【解决方案1】:

我想最好修复数据库启动脚本本身。但作为一种变通方法,您可以将该行添加到/etc/rc.local,它大约在初始化阶段的最后执行。

【讨论】:

  • 谢谢,但是要么 rc.local 没有运行,要么在 postgres 正在执行的任何操作之前执行的命令,或者 db 以某种方式覆盖它,我查看日志以获取信息,但马上不起作用。
  • 可能存在竞争条件,因此 rc.local 在常规 postgres 启动过程完成之前执行,可能是由于错误。也许您可以在重新启动之前添加一个睡眠,看看这是否有效。
  • 感谢 rc 是正确的方向,我在 rcX 文件中找到了解决方案。控制启动顺序
【解决方案2】:

在 Ubuntu 18.04 上:

sudo systemctl restart postgresql.service

【讨论】:

  • 您还需要提供集群版本:sudo systemctl start postgresql-9.5.service
  • @Aarvy 奇怪的是,在带有 Postrges 13 的 Ubuntu 20 上,systemctl 不需要该版本
【解决方案3】:

ENABLE 就是你要找的东西

用法: 键入此命令一次,然后您就可以开始了。您的服务将在启动时自动启动

 sudo systemctl enable postgresql

DISABLE 也存在

一些文档:freedesktop man systemctl

【讨论】:

  • 也许我认为这是为了启用....
  • @CHAVDAMEET 问题是我如何在ubuntu启动时添加这一行,以便每次加载时都会重新启动该服务,并希望能解决我的问题?
【解决方案4】:

以下命令对我有用

sudo service postgresql 重启

【讨论】:

    【解决方案5】:

    重启postgresql

    $ sudo service postgresql restart
    

    【讨论】:

      猜你喜欢
      • 2017-08-28
      • 2014-06-21
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      • 2015-05-24
      • 2023-03-03
      • 2020-01-24
      相关资源
      最近更新 更多