PostgreSQL查询长连接
apple=# select pid, backend_start, xact_start, query_start, waiting, state, backend_xid from pg_stat_activity where backend_xid is not null and now() - xact_start > interval '1 min';
-[ RECORD 1 ]-+------------------------------
pid | 14604
backend_start | 2018-12-04 15:06:19.306234+08 -- 连接创建时间
xact_start | 2018-12-04 16:08:25.528639+08 -- 事务begin时间
query_start | 2018-12-04 16:09:03.921005+08 -- 事务中最近的查询开始时间,一个事务内有多个查询时,只记录最近的一个
waiting | f -- 是否在等待,有锁时这里为t
state | idle in transaction -- 是否空闲,且仍然未提交
backend_xid | 718176 -- 当前事务的id,即xid。如果连接创建了,没有做任何操作,或者仅仅begin了,那么这里是空的;但是如果begin了,前面的xact_start就会记录事务开始时间。 另外,仅查询不会产生。
往往我们查看backend_xid不为空,的state为idle in transaction的连接,分析他的三个时间,来判断是不是长事务。
开两个连接,在一个连接中锁住表,另外一个连接查询表,可以看到查询的表waiting状态为t:
apple=# select pid, backend_start, xact_start, query_start, waiting, state, backend_xid from pg_stat_activity where backend_xid is null and now() - backend_start > interval '1 min';
-[ RECORD 1 ]-+------------------------------
pid | 14604
backend_start | 2018-12-04 15:06:19.306234+08
xact_start | 2018-12-04 16:23:23.420563+08
query_start | 2018-12-04 16:23:23.420563+08
waiting | t
state | active
backend_xid |
-[ RECORD 2 ]-+------------------------------
pid | 15509
backend_start | 2018-12-04 15:47:22.826488+08
xact_start | 2018-12-04 16:23:26.41356+08
query_start | 2018-12-04 16:23:26.41356+08
waiting | f
state | active
backend_xid |
-[ RECORD 3 ]-+------------------------------
pid | 16235
backend_start | 2018-12-04 16:20:22.398526+08
xact_start | 2018-12-04 16:23:04.552078+08
query_start | 2018-12-04 16:23:18.629458+08
waiting | f
state | idle in transaction
backend_xid |
PostgreSQL查询长连接的更多相关文章
- PostgreSQL查询数据(连接查询和子查询)
原料 --用户表 create table "SysUser"( "UserId" serial, --用户Id,自增 "UserName" ...
- 使django与数据库保持长连接
最近遇到一个很蛋疼的问题,写了一个后台管理系统, 由于是后台管理系统,所以使用频率不是很高,当django程序在闲置一段时间后,再次打开后台系统,就变得很慢,然后又好了.查了很多方面,从模板引擎到请求 ...
- nginx长连接设置
http { keepalive_timeout 20; --长连接timeout keepalive_requests 8192; --每个连接最大请求数} events { worker_conn ...
- 误人子弟的网络,谈谈HTTP协议中的短轮询、长轮询、长连接和短连接
引言 最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码.在研究一个项目的时候,源码里面用到了HTTP的长轮询.由于之前没太接触过,因此LZ便趁着这个机会,好好了解了一下HT ...
- Web 通信 之 长连接、长轮询(转)
Web 通信 之 长连接.长轮询(long polling) 基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强 ...
- Web 通信 之 长连接、长轮询(long polling)
基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性. 一.什么是长连接.长轮询? 用通俗易 ...
- 浅谈Websocket、Ajax轮询和长连接(long pull)
最近看到了一些介绍Websocket的文章,觉得挺有用,所以在这里将自己的对其三者的理解记录一下. 1.什么是Websocket Websocket是HTML5中提出的新的协议,注意,这里是协议,可以 ...
- Web 通信 之 长连接、长轮询(long polling)(转)
基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性. 一.什么是长连接.长轮询? 用通俗易 ...
- Nginx与Tomcat、Client之间请求的长连接配置不一致问题解决[转]
http://bert82503.iteye.com/blog/2152613 前些天,线上出现“服务端长连接与客户端短连接引起Nginx的Writing.Active连接数过高问题”,这个是由于“服 ...
随机推荐
- [C#]嵌入互操作类型
嵌入互操作类型(Embed Interop Types) 运用office编程调用Excel 的PIA时Microsoft.Office.Interop.Excel.dll时会产生如下问题: 1.提示 ...
- Miller-Rabin素数测试算法(POJ1811Prime Test)
题目链接:http://poj.org/problem?id=1811 题目解析:2<=n<2^54,如果n是素数直接输出,否则求N的最小质因数. 求大整数最小质因数的算法没看懂,不打算看 ...
- TabControl delphi
1.TTabControl 组件的典型用法TTabControl 组件使用起来,根本不会使程序简单化,所以不提倡使用此组件,可以用TPageControl组件代替.与多页组件不同的是,虽然Tab 组件 ...
- SpringData_JpaSpecificationExecutor接口
不属于Repository体系,实现一组 JPA Criteria 查询相关的方法 Specification:封装 JPA Criteria 查询条件.通常使用匿名内部类的方式来创建该接口的对象 / ...
- #C++初学记录
输入与输出,头文件. #include<iostream> #include<algorithm> using namespace std; int main() { char ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON HSerializedItem
zw版[转发·台湾nvp系列Delphi例程]HALCON HSerializedItem procedure TForm1.FormShow(Sender: TObject);var img, im ...
- 裸眼 3D 技术是什么原理?
https://www.zhihu.com/question/19553745 作者:杨英东链接:https://www.zhihu.com/question/19553745/answer/1227 ...
- 微信小程序:本地资源图片无法通过 WXSS 获取,可以使用网络图片或者 base64或者使用image标签
微信小程序:本地资源图片无法通过 WXSS 获取,可以使用网络图片或者 base64或者使用image标签 一.问题 报错信息: VM696:2 pages/user/user.wxss 中的本地资源 ...
- Sybase数据库第三方软件安装
Sybase数据库第三方软件安装 1,安装软件:IQNC160011P_1-20011253.ZIP
- 如何把js的循环写成异步的
针对这里的问题:深入理解node.js异步编程:基础篇https://cnodejs.org/topic/533d6edbc2621e680800e0ea 这一节有一个代码:###4.1 Node.j ...