
ショコラ
ポストグレスで dropdb を実行したらエラーで削除できなかった
バックエンドのセッションを強制終了させてから dropdb でキメマス。

もっさん先輩
- バックエンドのセッションを確認します。
SELECT * FROM pg_stat_activity WHERE procpid <> pg_backend_pid();
- バックエンドのセッションを強制終了させます。
SELECT pg_terminate_backend(procpid)
FROM pg_stat_activity WHERE procpid <> pg_backend_pid();
シチュエーション
PostgreSQL で dropdb を実行したところ、セッションが残っていてエラーで削除できなかった。
# dropdb -U postgres db
dropdb: database removal failed: ERROR: database "db" is being accessed by other users
DETAIL: There are 10 other session(s) using the database.