RedshiftでDROP DATABASEしたらエラー「ERROR: database "hogehoge" is being accessed by other users」
はじめに
redshiftでDROP DATABASEしたらエラーが出たのでその対処方法を残します。
DROP DATABASE "hogehoge";
ERROR: database "hogehoge" is being accessed by other users
調査
ぐぐると、Postgresqlの文献ですが以下が見つかりました。
どうやら誰かのセッションが残っている様子。
対処
セッション一覧を出してprocpid列に出てきた値をメモります。複数件あれば全部メモります。
自分は4件のセッションがありました。
SELECT * FROM pg_stat_activity WHERE datname = 'hogehoge';
pg_terminate_backend関数でセッションを切断していきます。複数セッションが残っているのであればその回数分だけこのSQLをたたきます。
select pg_terminate_backend(procpidの値) from pg_stat_activity
where datname = 'hogehoge';
自分は、削除できないセッションが1件だけありました。
それはいま自分がつないでいるセッションなので消せないのだと思うんですが詳細調べる前に次に進んでしまいました...
結果
(1件だけ削除できないセッションがあったけど)無事にDROPできました。
DROP DATABASE "hogehoge";
文献
とても参考になりました。ありがとうございます。
Author And Source
この問題について(RedshiftでDROP DATABASEしたらエラー「ERROR: database "hogehoge" is being accessed by other users」), 我々は、より多くの情報をここで見つけました https://qiita.com/m-tsuchiya/items/ca01ff83af409e6a54f1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .