You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redshift Serverless如何查看并终止活跃连接以删除数据库?

如何在Redshift Serverless中查看活跃连接并删除数据库?

Redshift Serverless与传统Redshift集群的系统视图存在差异,stv_sessions是集群版专属视图,Serverless中需使用PostgreSQL兼容的系统视图来查看和管理连接,具体操作步骤如下:

1. 查看目标数据库的活跃会话

使用pg_stat_activity视图查询目标数据库的所有活跃连接(排除当前执行查询的会话):

SELECT pid, usename, datname, state, query_start
FROM pg_stat_activity
WHERE datname = '[my_database_name]'
  AND pid <> pg_backend_pid();

字段说明:

  • pid:会话的进程ID,用于后续终止连接
  • usename:发起连接的用户账号
  • datname:连接的数据库名称
  • state:当前会话状态(如active表示正在执行查询,idle表示空闲)
  • query_start:会话启动时间

2. 终止目标数据库的活跃连接

通过pg_terminate_backend函数终止所有目标数据库的活跃连接(同样排除当前会话):

SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = '[my_database_name]'
  AND pid <> pg_backend_pid();

执行该语句后,所有连接到目标数据库的外部会话都会被强制断开。

3. 删除数据库

确认所有活跃连接已终止后,执行删除命令:

DROP DATABASE [my_database_name];

额外注意事项

  • 终止连接前请提前通知相关用户,避免中断正在进行的业务操作或导致数据丢失。
  • 如果执行终止操作后仍有新连接建立,可以先限制目标数据库的连接数,阻止新连接进入:
    ALTER DATABASE [my_database_name] CONNECTION LIMIT 0;
    
    待终止所有现有连接后,再执行删除命令。

内容的提问来源于stack exchange,提问作者gbeaven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 15:26:03