ERROR: database 'xXx' is being accessed by other users
DETAIL: There are 5 other sessions using the database.
有時我們在遷移或重新生成數據庫時可能會需要先刪除數據庫。這時就會遇到數據庫被占用導致無法刪除的問題,下面提供其中一種不重啟服務的快速解決方法。
這條語句可以看到當前正在被訪問的數據庫列表:
SELECT * FROM "pg_stat_activity"
正常情況下上面提示框中的數據庫也一定就在列表中,所以在刪除時會提示正在被訪問,只要將記錄從 pg_stat_activity 表刪除,就能順利刪除數據庫。順便提供刪除語句:
DELETE FROM "pg_stat_activity" WHERE datname = 'jn_tenantdb20190401'
附贈一個沒什么用的:如果數據庫只是個人使用,也可以選擇稍等一會兒,等待回話自動關閉。然后再執行刪庫操作。