更新时间:2022-07-29 GMT+08:00

CLEAN CONNECTION

功能描述

当数据库有异常时,用来清理数据库连接。允许在指定节点上清理指定数据库的指定用户的相关连接。

注意事项

语法格式

CLEAN CONNECTION 
    TO { COORDINATOR ( nodename [, ... ] ) | NODE ( nodename [, ... ] )| ALL [ CHECK ] [ FORCE ] }
    [ FOR DATABASE dbname ] 
    [ TO USER username ];

参数说明

  • CHECK

    仅在节点列表为TO ALL时可以指定。如果指定该参数,会在清理连接之前检查数据库是否被其他会话连接访问。此参数主要用于DROP DATABASE之前的连接访问检查,如果发现有其他会话连接,则将报错并停止删除数据库。

  • FORCE

    仅在节点列表为TO ALL时可以指定,如果指定该参数,所有和指定dbname和username相关的线程都会收到SIGTERM信号,然后被强制关闭。

  • COORDINATOR ( nodename ,nodename ... } ) | NODE ( nodename , nodename ... ) | ALL

    删除指定节点上的连接。有三种场景:

    • 删除指定CN上的连接。
    • 删除指定DN上的连接。
    • 删除所有节点上的连接,包括CN和DN。

    取值范围:可替换其中的nodename为已存在的节点名。

  • dbname

    删除指定数据库上的连接。如果不指定,则删除所有数据库的连接。

    取值范围:已存在数据库名。

  • username

    删除指定用户上的连接。如果不指定,则删除所有用户的连接。

    取值范围:已存在的用户。

示例

删除数据库template1在dn1和dn2节点上的连接:

1
CLEAN CONNECTION TO NODE (dn_6001_6002,dn_6003_6004) FOR DATABASE template1;

删除用户jack在dn1节点上的连接:

1
CLEAN CONNECTION TO NODE (dn_6001_6002) TO USER jack;

删除在数据库postgres上的所有连接:

1
CLEAN CONNECTION TO ALL FORCE FOR DATABASE postgres;