Ich werde eine Zusammenfassung der Lösungen für Nachzügler über die Lösung schreiben, wenn beim Ausführen von Rails db: create ein Fehler auftritt.
windows 10 home ubuntu 20.04 LTS ruby 2.7.1 Rails 6.0.3 postgresql 11
$ rails db:create
FATAL: role "admin0" does not exist
Couldn't create 'taskleaf2_development' database. Please check your configuration.
rails aborted!
PG::ConnectionBad: FATAL: role "admin0" does not exist
/home/admin0/taskleaf2/bin/rails:9:in `<top (required)>'
/home/admin0/taskleaf2/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => db:create
(See full trace by running task with --trace)
Liegt der entscheidende Punkt diesmal um die 5. Zeile von oben?
Ich hatte zuvor einen ähnlichen Fehler festgestellt und ihn bereits behoben, daher habe ich dieselbe Methode ausprobiert. https://teratail.com/questions/297341
$ yarn install
Selbst dies konnte jedoch nicht gelöst werden.
Beachten Sie, dass der Fehler PG :: ConnectionBad ist :. Die Datenbank sollte jedoch wie folgt ausgeführt werden ...?
$ sudo service postgresql start
[sudo]admin0 Passwort:
* Starting PostgreSQL 11 database server [ OK ]
* Starting PostgreSQL 13 database server [ OK ]
Ich beschloss, es auf andere Weise zu starten (siehe unten).
$ sudo su - postgres
\q
Als ich "Rails DB: Create" erneut ausführte, änderte sich die Fehleranweisung.
$ rails db:create
WARNING: could not flush dirty data: Function not implemented
Created database 'taskleaf2_development'
WARNING: could not flush dirty data: Function not implemented
Created database 'taskleaf2_test'
Danach habe ich mit diesem Fehlersatz gesucht
https://stackoverflow.com/questions/45437824/postgresql-warning-could-not-flush-dirty-data-function-not-implemented
Weil dies einflussreich zu sein schien
Ein Teil des Inhalts von / etc / postgresql / 11 / main / postgresql.conf
wurde wie folgt umgeschrieben
fsync = off
data_sync_retry = true
Versuchen Sie erneut, Rails db: create
auszuführen
rails db:create
Database 'taskleaf2_development' already exists
Database 'taskleaf2_test' already exists
Anscheinend war es erfolgreich. Da der Server starten konnte, wird diesmal das Problem behoben.
Recommended Posts