postgres 僵尸连接释放
博客专区 > jaakan 的博客 > 博客详情
postgres 僵尸连接释放
jaakan 发表于2年前
postgres 僵尸连接释放
  • 发表于 2年前
  • 阅读 28
  • 收藏 0
  • 点赞 0
  • 评论 0
摘要: 使用python脚本监控postgres中超时的僵尸连接并将其释放

使用python脚本监控postgres中超时的僵尸连接并将其释放

 

#coding:utf-8
from db.SqlUtil import *
import psycopg2.extras
from datetime import datetime,timedelta
import time
import os,sys
from subprocess import *

sql_conn=Driver().getConn()
cursor = sql_conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
cursor.execute("select * from pg_stat_activity WHERE state='idle'  ORDER BY backend_start")
now=time.time()
for obj in cursor.fetchall():
    t=obj["query_start"]
    spT=now-time.mktime(t.timetuple())
    spTH=spT/3600
    if spTH>5:
        pid=obj["pid"]
        cmd="kill %s" % pid
        Popen(cmd, shell=True, stdout=PIPE)
    
cursor.close()
sql_conn.close()

 

将上段代码保存为pgMonitor.py并添加到linux的corntab中定时执行即可

共有 人打赏支持
粉丝 5
博文 28
码字总数 5356
×
jaakan
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: