2条回答
默认
最新
在 PostgreSQL 中,你可以使用以下方法来查找未提交的事务或语句:
- 使用pg_stat_activity视图:这个视图提供了有关当前活动连接和查询的信息。你可以使用以下查询来查找未提交的事务或语句:
SELECT * FROM pg_stat_activity WHERE state NOT IN ('idle', 'active');
这将返回所有非空闲(未提交的事务或语句)和非活动状态(已经完成提交的事务)的查询。
2. 使用pg_stat_activity视图过滤特定用户:如果你只想查找特定用户的未提交事务或语句,可以添加一个额外的条件来过滤用户。例如,假设你要查找用户名为"john"的未提交事务或语句,可以使用以下查询:
SELECT * FROM pg_stat_activity WHERE state NOT IN ('idle', 'active') AND user_name = 'john';
- 使用pg_statmview视图:pg_statmview视图提供了有关共享内存中的活动会话的信息。你可以使用以下查询来查找未提交的事务或语句:
SELECT * FROM pg_statmview WHERE state NOT IN ('idle', 'active');
这将返回所有非空闲(未提交的事务或语句)和非活动状态(已经完成提交的事务)的查询。
4. 使用pgAgent作为作业调度器:如果你在 PostgreSQL 中使用pgAgent作为作业调度器,你可以查询pgAgent的日志来查找未提交的事务或语句。在pgAgent的日志中,你可以搜索包含"ERROR"或"FATAL"等错误消息的行,这些行通常表示事务未提交或出现其他问题。
这些方法可以帮助你查找未提交的事务或语句。
评论
有用 6应该是
SELECT * FROM pg_stat_activity WHERE state NOT IN ('idle');
在 pg_stat_activity 视图中,active 状态表示后端正在执行一个查询。
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

