PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

docker-compose rails rake db:reset schlägt fehl, kann die aktuell geöffnete Datenbank nicht löschen

Sie verwenden die falsche Datenbank.

Die Datenbank postgres wird normalerweise nicht für Benutzerdaten, sondern für administrative Zwecke verwendet. Wenn Sie beispielsweise eine Datenbank löschen möchten, müssen Sie mit einer anderen Datenbank im PostgreSQL-Datenbankcluster verbunden sein, um die SQL-Anweisung DROP DATABASE auszuführen . Normalerweise ist die Datenbank postgres wird für diesen Zweck verwendet, und ich habe keinen Zweifel daran, dass Docker genau das tut, wenn es versucht, eine Datenbank zu löschen.

Wenn Sie die Datenbank wirklich löschen möchten postgres , müssten Sie eine Verbindung zu einer anderen Datenbank im Cluster herstellen. Die richtige Lösung besteht jedoch darin, Ihre Daten in einer anderen Datenbank zu speichern. Dann sollte das Problem von selbst verschwinden.