postgres,ubuntu如何在启动时重新启动服务?在实例重新启动后,无法进行群集

postgres,ubuntu如何在启动时重新启动服务?在实例重新启动后,无法进行群集,ubuntu,ubuntu-12.04,postgresql-9.1,Ubuntu,Ubuntu 12.04,Postgresql 9.1,我有一个postgresdb9.1运行在awsec2上,带有ubuntu12.04 我把这个实例弄得一团糟(比如在我决定使用9.1之前安装了各种各样的postgres X.X) 现在,在数据库上工作了一个月后,我发现如果我重新启动实例postgres无法正确加载,它的状态会显示为“正在运行集群”。这将永远持续到我死 sudo service postgresql restart 从终端,然后它再次工作 我如何将这一行添加到ubuntu启动程序中,以便每次加载时,它都会重新启动此服务,并有望解决

我有一个
postgresdb9.1
运行在
awsec2
上,带有
ubuntu12.04

我把这个实例弄得一团糟(比如在我决定使用9.1之前安装了各种各样的postgres X.X)

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

sudo service postgresql restart
从终端,然后它再次工作

我如何将这一行添加到ubuntu启动程序中,以便每次加载时,它都会重新启动此服务,并有望解决我的问题


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

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

在Ubuntu 18.04上:

sudo systemctl restart postgresql.service

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

 sudo systemctl enable postgresql
禁用ofc也存在


一些文档:

下面的命令对我有效


sudo服务postgresql重新启动

谢谢,但是要么rc.local没有运行,要么在postgres执行任何操作之前执行了命令,要么db以某种方式覆盖了它,我会查看日志以获取信息,但无法正常工作。可能存在争用条件,因此,rc.local在常规postgres启动过程完成之前执行,可能是由于错误。也许你可以在重新启动之前添加一个睡眠,看看这是否是一个有效的解决方法。感谢rc的正确指导,我在rcX文件中找到了解决方案。这决定了启动顺序如果你是google(和我一样)来这里寻找重新启动postgresql的命令,在我的例子中是服务postgresql-9.3 restartI让Albert的评论成为一个问题和答案:来这里只是为了得到重新启动命令,得到了我想要的,感谢您还需要提供集群版本:sudo systemctl start postgresql-9.5。service@Aarvy奇怪的是,在带有Postrges 13的Ubuntu20上,systemctl不需要这个版本