pgsql 如何刪除仍有活動鏈接的數據庫

刪除數據庫的命令:

drop database if exists testdb;

但是這個命令可能會報錯:

類似於:

database "xxx" is being accessed by other users.
DETAIL: There is x other session using database.

如:

表示要刪除的數據庫上還有其他活動鏈接。

解決方法:

斷開該數據庫上所有鏈接。

sql:

select pg_terminate_backend(pid) from pg_stat_activity where datname='{0}';

其中:

pg_terminate_backend用來終止與數據庫的連接的進程id的函數。

pg_stat_activity是一個系統表,用於存儲服務進程的屬性和狀態。

補充:解決postgresql 數據庫因存在連接刪除不成功的問題

postgresql 數據庫因存在連接刪除不成功問題

#psql -d dbname

#SELECT * FROM pg_stat_activity;

找到要刪除數據庫的連接pid

kill -9 pid

重新刪除db

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: