Postgresql 如何实时查看对Postgres数据库的查询?

Postgresql 如何实时查看对Postgres数据库的查询?,postgresql,testing,capybara,deadlock,Postgresql,Testing,Capybara,Deadlock,我有一个水豚测试,它会导致死锁。为了解决死锁问题并查看到底发生了什么,我想有一种方法来查看测试实时执行了哪些查询。有办法做到这一点吗 我发现了,但如果我没有弄错的话,这将只将查询存储在一个表中,我需要自己查询这个表。难道没有一种方法可以在终端中看到以下内容: PID 1234 -> SELECT xxxx FROM xxxx WHERE xxxxx PID 5678 -> SELECT xxxx FROM xxxx WHERE xxxxx ... ?您可以打开对语句的日志记录,以便

我有一个水豚测试,它会导致死锁。为了解决死锁问题并查看到底发生了什么,我想有一种方法来查看测试实时执行了哪些查询。有办法做到这一点吗

我发现了,但如果我没有弄错的话,这将只将查询存储在一个表中,我需要自己查询这个表。难道没有一种方法可以在终端中看到以下内容:

PID 1234 -> SELECT xxxx FROM xxxx WHERE xxxxx
PID 5678 -> SELECT xxxx FROM xxxx WHERE xxxxx
...

您可以打开对语句的日志记录,以便将它们写入Postgres日志文件:@a_horse_with_no_name抱歉,我错过了这个问题的阅读。另外,正如我看到的,Alex正在寻找deadlook,因此不需要记录所有查询,当出现deadlook时,就足以从本文中查询表了。所有的查询都必须在那里。@a_horse_和_no_name作为提示。你的建议让我找到了我想要的东西。查询pg_stat_活动应该能提供你想要的信息,不是吗?锁特定信息可在pg_locks-中找到。