錯誤重現
有時候需要刪除某個數據庫時,會報如下錯誤,顯示有一個連接正在使用數據庫,無法刪除
ERROR: database "pilot" is being accessed by other users DETAIL: There is 1 other session using the database.
解決方法
首先阻止其他人連接到准備要刪除的數據庫
REVOKE CONNECT ON DATABASE your_database_name FROM public;
然后中止連到此數據庫的所有連接
SELECT pid, pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = current_database() AND pid <> pg_backend_pid();
在舊版本上,pid被稱為procpid,所以你必須處理它
接下來執行 drop database databases_name; 刪除數據庫
