云数据库 GAUSSDB-CLEAN CONNECTION:示例
时间:2025-06-03 09:36:02
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
--创建数据库test_clean_connection。 gaussdb=# CREATE DATABASE test_clean_connection; --创建jack用户。 gaussdb=# CREATE USER jack PASSWORD '********'; --在另一个会话用jack用户登录该数据库之后,通过视图查询到该连接信息。 gaussdb=# SELECT datname,usename,application_name,waiting,state FROM pg_stat_activity WHERE datname = 'test_clean_connection'; datname | usename | application_name | waiting | state -----------------------+---------+------------------+---------+------- test_clean_connection | jack | gsql | f | idle (1 row) --此时直接删除数据库test_clean_connection会有如下报错: gaussdb=# DROP DATABASE test_clean_connection; ERROR: Database "test_clean_connection" is being accessed by other users. You can stop all connections by command: "clean connection to all force for database XXXX;" or wait for the sessions to end by querying view: "pg_stat_activity". DETAIL: There is 1 other session using the database. --删除登录数据库数据库test_clean_connection的所有节点的连接。 --如果不使用FORCE参数是无法删除stat状态为其他的状态的连接。 gaussdb=# CLEAN CONNECTION TO ALL FORCE FOR DATABASE test_clean_connection; --查询登录数据库test_clean_connection的连接。 gaussdb=# SELECT datname,usename,application_name,waiting,state FROM pg_stat_activity WHERE datname = 'test_clean_connection'; datname | usename | application_name | waiting | state ---------+---------+------------------+---------+------- (0 rows) --删除数据库test_clean_connection。 gaussdb=# DROP DATABASE test_clean_connection; --删除用户jack。 gaussdb=# DROP USER jack; |
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0528.html