小编ale*_*x_i的帖子

PG_TERMINATE_BACKEND不会结束特定会话

由于连接,我无法删除红移数据库:

Couldn't drop my_db : #<ActiveRecord::StatementInvalid: PG::ObjectInUse: ERROR:  database "my_db" is being accessed by other users
Run Code Online (Sandbox Code Playgroud)

我连接(通过psql)到同一个集群的另一个数据库,并检查以查看我的待处理会话的pid:

my_other_db=# select procpid from pg_stat_activity where datname='my_db';
  procpid 
 ---------
    20457
(1 row)
Run Code Online (Sandbox Code Playgroud)

所以我试图调用PG_TERMINATE_BACKEND:

my_other_db=# select pg_terminate_backend(20457);
 pg_terminate_backend
----------------------
                    1
(1 row)
Run Code Online (Sandbox Code Playgroud)

但是当我检查了我的pg_stat_activity时,我的阻塞会话仍然在这里:

my_other_db=# select procpid from pg_stat_activity where datname='my_db';
  procpid 
 ---------
    20457
(1 row)
Run Code Online (Sandbox Code Playgroud)

我仍然无法放弃我的数据库.

任何的想法 ?(我不得不重新启动群集以摆脱它,这不是一个令人满意的解决方案)

(当然,我尝试了另一个会话,我设法终止了)

session amazon-redshift

9
推荐指数
1
解决办法
1754
查看次数

标签 统计

amazon-redshift ×1

session ×1