Postgresqlを使用している時、データベースの削除などをした時下記のようなエラーが表示された時の対処
PG::ObjectInUse: ERROR: データベース"database_name"は他のユーザからアクセスされています
DETAIL: 他にこのデータベースを使っている 1 個のセッションがあります。
エラー文の通り操作しようとしているデータベースにアクセスしているユーザがいるためなので、このユーザを強制的に追い出します。
まずアクセスしているユーザを調べます。
“`
SELECT * FROM pg_stat_activity;
“`
該当ユーザのprocidとusernameをメモし、追い出します
“`
SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE usename = ‘usename’;
“`
以上
Source: New feed