2015-09-11 54 views
0

我一直遇到这个问题,我的postgresql数据库挂起,因为我没有在PyCharm中调试时完成一个事务。Postgres和PyCharm挂起交易

日志有几个这样的消息:

[16:30:40 PDT] unexpected EOF on client connection with an open transaction 

现在数据库挂,我不知道如何从它除了关闭数据库恢复(流浪汉停止;无业游民了)

有什么办法可以清除那些卡住的事务,所以我不必停止并重新启动数据库?

感谢任何信息

+1

次要快得多,但你可以运行'流浪汉reload'将同做停顿+了。也可以运行'service postgresql restart'来重新启动服务,而不必重新启动整个虚拟机。什么是'服务postgresql状态'是数据库还在吗? –

+0

我现在就试试这个。谢谢,这是一个更好的主意。在我的系统上,它是'sudo /etc/init.d/postgresql-9.2 restart' – slashdottir

回答

0

我发现这个解决方案在这里:

SELECT * FROM pg_stat_activity ORDER BY client_addr ASC, query_start ASC; 

会列出您所有的红/闲置交易,那么你就可以使用中列出的PID运行

SELECT pg_terminate_backend(3592) 

桌子。

它比重启流浪汉或PostgreSQL