首頁 > 後端開發 > Golang > 如何刪除目前連接的 Postgres 資料庫?

如何刪除目前連接的 Postgres 資料庫?

Mary-Kate Olsen
發布: 2024-11-19 20:18:03
原創
329 人瀏覽過

How to Drop a Postgres Database You're Currently Connected To?

在Postgres 中刪除已連接的資料庫

您在嘗試刪除目前連接的資料庫時遇到錯誤:「pq:無法刪除目前開啟的資料庫。

此行為是有道理的,因為刪除資料庫會使引用該資料庫的所有開啟連線失效。若要成功刪除資料庫,您必須確保不存在活動連線。

推薦方法

推薦方法是連接到不同的資料庫並執行 DROP DATABASE 命令從那個連接。這可確保您與要刪除的資料庫沒有任何開啟的連線。

強制斷開客戶端

在其他客戶端連接到資料庫的情況下你需要刪除,你可以強行斷開它們。請注意,這需要超級用戶權限。

對於9.2 之前的PostgreSQL 版本:

SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname = 'mydb';
登入後複製

對於PostgreSQL 9.2 及更高版本:

對於PostgreSQL 9.2 及更高版本:
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'mydb';
登入後複製

>強制斷開所有客戶端後,您可以連接到不同的資料庫並再次執行DROP DATABASE 指令。 附加說明在您的特定程式碼範例中,您嘗試在執行 DROP DATABASE 後關閉連線命令。此步驟是不必要的,並且可能會導致意外行為。只需在執行 DROP DATABASE 命令之前連接到不同的資料庫,您將成功關閉與已刪除的資料庫的連線。

以上是如何刪除目前連接的 Postgres 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板