代码之家  ›  专栏  ›  技术社区  ›  Guerrilla

错误:其他用户正在访问数据库详细信息:有24个其他会话正在使用该数据库

  •  0
  • Guerrilla  · 技术社区  · 6 年前

    错误:其他用户正在访问数据库“mydb”
    详细信息:有24个其他会话使用该数据库。

    REVOKE CONNECT ON DATABASE mydb FROM public;
    
    SELECT pg_terminate_backend(pg_stat_activity.pid)
    FROM pg_stat_activity
    WHERE pg_stat_activity.datname = 'mydb';
    

    这不管用。我仍然收到错误消息,有会话。

    数据库中有2个模式, public hangfire ,所以我不确定这是否是问题的根源。

    这是我的本地数据库,没有其他人在使用它。为什么它不掉下来?

    2 回复  |  直到 6 年前
        1
  •  12
  •   Guerrilla    6 年前

    解决办法是:

    UPDATE pg_database SET datallowconn = 'false' WHERE datname = 'mydb';
    
    SELECT pg_terminate_backend(pg_stat_activity.pid)
    FROM pg_stat_activity
    WHERE pg_stat_activity.datname = 'mydb';
    
    DROP DATABASE mydb;
    
        2
  •  2
  •   Laurenz Albe    6 年前

    您仍然获得一些连接的原因可能是这些用户已被授予对数据库的显式权限。