0
0

More than 1 year has passed since last update.

PG::ObjectInUse: ERROR database "〇〇" is being accessed by other usersが出た時の対処法

Posted at

このエラーの意味とは

このエラーはデータベースが他のプロジェクトやuserで使われているために発生するエラーです。

原因

考えられる原因としては
データベースに接続中のために発生しているので
・Dockerを使っている場合、他のプロジェクトでもdockerが立ち上がっている
・tableplusやpostmanに接続中
・rails コンソールでデータベースにアクセス中

などが考えられるとアドバイスをもらいました。

解決策

1 dockerを使っている場合

dockerを起動している方に限った解決策です。
ただ自分はこのやり方で解決したわけではないのでご了承ください。
・dockerで他のプロジェクトなどでも起動している場合は
dockerの接族状況を確認します。

$ docker network ls

NETWORK ID     NAME                         DRIVER    SCOPE
70875147784c   bridge                       bridge    local
561d44c3a725   ▲▲                                       bridge    local
#省略
b63f10ebb8b7   〇〇                                 bridge    local

別のプロジェクトでもdockerが立ち上がっていました。

まず一度全部dockerを止めます。

$ docker-compose down

で落とした後、再度dockerを起動します。

$ docker compose up

で起動するやり方があるみたいです。

2 再起動

少し面倒なやり方ですが、PCを再起動することです。
データベースにアクセス中で下手にデータベースをいじりたくないなら
PCを再起動するやり方があります。
自分はこのやり方で解決できました。

最後に

人によってエラーが出たタイミングや状況は違うので、
上のやり方でも解決できない場合はあるかと思います。
状況によっていろいろ対処するのがいいかと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0