首页 > 数据库技术 > 详细

Postgresql_连接管理

时间:2021-03-06 10:35:27      阅读:25      评论:0      收藏:0      [点我收藏+]
  • 连接管理

  • 终止正在执行的语句并杀掉连接
  • 1) 查出活动连接列表,及其进程ID
    
    select * from pg_stat_activity;
    
    pg_stat_activity  视图包含每个连接上最近一次执行的语句、使用的用户名(usename字段)、所在的database名(datname字段)、以及语句开始执行的时间
    ,通过查询该视图可以找到需要终止会话所对应的进程ID 
    
    2) 取消连接 ,假设对应的ID 号码是345  的活动查询。
    select pg_cancel_backend(345);
    该操作不会终止连接本身。
    
    3)终止该连接
    
    select pg_terminate_backend(345);
    
    注意仅仅终止正在执行的语句而没彻底杀掉连接,客户端可以立即重新执行刚刚被终止掉的会话语句的,这会导致系统陷入之前的状态。
    
    注意上边语句只能一次性处理一个连接。
    
    终止某个用户的所有连接
    
    select pg_terminate_backend(pid)  from pg_stat_activity
    where username =‘用户‘
    
    --杀死进程 ,pid为进程id

    Postgresql_连接管理

    原文:https://blog.51cto.com/lishiyan/2648792

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
    © 2014 bubuko.com 版权所有
    打开技术之扣,分享程序人生!