Postgres中连接意外关闭。

3
我遇到了一种情况,我们突然关闭了Postgres连接,这是使用连接池的Jetty服务器。 在我们的情况下,我们正在杀死Jetty服务器,发出Kill -9,因此连接池没有被正确关闭,所以我的问题是:这会影响Postgres数据库吗?它会导致Postgres损坏吗? 还是所有连接都会自动关闭,并且运行中的事务将回滚,而不会影响数据库。

3
如果您真的杀死了连接池器,我就不会称之为“意外”。那么,您为什么要杀掉它?而且为什么要使用 kill -KILL 命令? - wildplasser
我们之所以能够取得成功是因为我们将它用于嵌入式系统中,等待其优雅关闭将对产品的总启动时间产生不利影响。 - Abhishek Parikh
1个回答

4
任何未提交的事务,在断开连接时都会自动回滚。这不会导致数据库损坏,回滚永远不会导致数据库损坏。
使用 "kill -9" 命令可能会出现问题,但仅仅杀死连接并不会损坏您的数据库。

但是,当我的应用程序被杀死时,Postgres端的连接会发生什么情况?它们会在Postgres端保持打开状态吗? - Abhishek Parikh
不,这个过程将会停止。只需要进行一次测试,看看它会发生什么。 - Frank Heikens
Frank,我该如何在Postgres端检查连接是否仍然打开? - Abhishek Parikh
检查pg_stat_activity:SELECT * FROM pg_stat_activity; - Frank Heikens

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接