Alle Originalinhalte werden auf Ukrainisch erstellt. Noch nicht alle Inhalte wurden übersetzt. Einige Beiträge sind möglicherweise nur auf Ukrainisch verfügbar.Mehr erfahren

Wir analysieren den Fehler PG::ObjectInUse (Ruby on Rails)

Dieser Inhalt wurde automatisch aus dem Ukrainischen übersetzt.
Manchmal kann während der Entwicklung der Fehler PG::ObjectInUse: ERROR auftreten.
Zum Beispiel:
rake db:drop;
Zeigt uns den folgenden Fehler:
PG::ObjectInUse: ERROR:  Datenbank "myproject_development" wird von anderen Benutzern verwendet

DETAILS:  Es gibt 1 andere Sitzung, die die Datenbank verwendet

Datenbank 'myproject_development' konnte nicht gelöscht werden

rake abgebrochen!

ActiveRecord::StatementInvalid: PG::ObjectInUse: ERROR:  Datenbank "myproject_development" wird von anderen Benutzern verwendet

DETAILS:  Es gibt 1 andere Sitzung, die die Datenbank verwendet.

Ursache: PG::ObjectInUse: ERROR:  Datenbank "myproject_development" wird von anderen Benutzern verwendet

DETAILS:  Es gibt 1 andere Sitzung, die die Datenbank verwendet.
Aufgaben: TOP => db:drop:_unsafe

(Siehe vollständige Rückverfolgung, indem Sie die Aufgabe mit --trace ausführen)
Hier ist alles ziemlich einfach. Die Nachricht ist sehr informativ und sagt buchstäblich - Datenbank "myproject_development" wird von anderen Benutzern verwendet. Das bedeutet, dass wir die Datenbank derzeit nicht löschen können, da eine aktive Verbindung besteht. Lokal ist das normalerweise entweder ein laufender rails server und/oder rails c (Konsole). Diese müssen geschlossen werden, damit der Prozess die Verbindung zur Datenbank trennt. Danach starten wir rake db:drop; neu und alles sollte funktionieren.
Manchmal kann es vorkommen, dass wir lokal scheinbar keine offenen Prozesse / Verbindungen im Terminal haben, aber wir immer noch den Fehler "Datenbank wird von anderen Benutzern verwendet" erhalten. Das bedeutet normalerweise, dass wir irgendwo einen Prozess haben, der weiterhin mit der Datenbank arbeitet. Manchmal kann es sich um einen Hintergrundprozess / Daemon handeln. Aber um diesen Prozess zu finden und zu beenden, braucht man mehr Kontext. Man kann die Ports und Prozesse scannen und die beenden, die die Datenbank verwenden. Aber darüber werde ich wahrscheinlich in einer anderen Notiz schreiben.

Dieser Beitrag hat noch keine Ergänzungen vom Autor.

12. Apr, 10:07 Uhr

Was ist Routing?

meme code
meme code@memecode
14. Apr, 09:12 Uhr

Was sind Quality-Werte (Qualitätswerte / Priorität) in HTTP?

meme code
meme code@memecode
14. Apr, 09:14 Uhr

Accept - HTTP-Header, wofür er benötigt wird und wie er funktioniert?

meme code
meme code@memecode
15. Apr, 17:50 Uhr

Was ist Entropie?

meme code
meme code@memecode
15. Apr, 18:11 Uhr

Was sind HTTP Client Hints?

meme code
meme code@memecode
18. Apr, 05:27 Uhr

Wir beheben ActiveRecord::ProtectedEnvironmentError in der lokalen Umgebung.

meme code
meme code@memecode
27. Apr, 09:29 Uhr

Was sind CC und BCC in E-Mails? Wozu und wie verwendet man sie?

meme code
meme code@memecode
Was ist ein Prompt und Prompt-Engineering?
03. Mai, 12:08 Uhr

Was ist ein Prompt und Prompt-Engineering?

meme code
meme code@memecode
ZOMBIE in Ruby. Was ist das?
03. Mai, 12:41 Uhr

ZOMBIE in Ruby. Was ist das?

meme code
meme code@memecode
03. Mai, 13:13 Uhr

Was ist der Garbage Collector in Ruby? Wie funktioniert er und wozu wird der GC benötigt?

meme code
meme code@memecode
Ein wenig über die Implementierungstypen von Ruby (CRuby (MRI), JRuby, Rubinius, TruffleRuby, mruby)
05. Mai, 12:36 Uhr

Ein wenig über die Implementierungstypen von Ruby (CRuby (MRI), JRuby, Rubinius, TruffleRuby, mruby)

meme code
meme code@memecode
07. Mai, 07:24 Uhr

Was ist nativer Maschinencode?

meme code
meme code@memecode