是否有任何危险/etc/init.d/postgresql restart
?我们刚刚发生了一些事情,一些关系“消失了”,我跑了上述命令。刚刚被系统管理员搞砸了,但是他没有证明为什么这是一件坏事。我确实将webapp置于维护模式,因此当时没有任何事务/查询。
谢谢你们......总之它不会损坏任何东西,但它可能会丢失许多有价值的诊断信息。
答案 0 :(得分:45)
不,使用init.d方法没有重启postgres的危险。
然而,重新启动它是因为发生了一些奇怪的事情并不是一个好主意,因为它会严重限制您可以收集的信息量以找到根本原因并限制修复它的机会。
同样在我参与postgresql的这些年里,我从未遇到过重启“修复”问题的情况。即时“事件”可能会得到解决,但如果出现问题,它仍会存在。
答案 1 :(得分:5)
关系将在重新启动Postgres时消失的唯一方法是,如果它们是临时表或在打开的事务中创建关系。当db重新启动时,它将关闭所有连接,因此将删除所有临时表,并回滚打开的事务。但任何提交的东西都可以安全地重启。
答案 2 :(得分:3)
由于重新启动,关系不会消失,您可能会丢失一些正在运行的事务,但就是这样。 PostgreSQL在重启时不会破坏你的数据库,不用担心。