處理postgres刪庫報錯 There are 24 other sessions using the database.

postgres=# drop database k8s_kong;

ERROR: database "k8s_kong" is being accessed by other users

DETAIL: There are 24 other sessions using the database.

說明該k8s_kong庫正在被人連接。解決方法是:

查詢出連接該數據庫的進程,並將其殺死(比較暴力)

postgres=# select pg_terminate_backend(pid) from pg_stat_activity where DATNAME = 'k8s_kong';

ERROR: must be a member of the role whose process is being terminated or member of pg_signal_backend

postgres=# grant pg_signal_backend to pointsmart_ops;   給用戶授權pg_signal_backend角色,不然沒權限執行不了下一步

Command OK

postgres=# select pg_terminate_backend(pid) from pg_stat_activity where DATNAME = 'k8s_kong';

+----------------------+

| pg_terminate_backend |

+----------------------+

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

| t |

+----------------------+

24 rows in set

postgres=# drop database k8s_kong;

Command OK

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章