PG::UndefinedTable: FEHLER: Relation "pg_range" existiert nicht

Ich folge der Anleitung hier:

Wenn ich bundle exec rake db:create ausführe, schlägt es fehl und sagt:

[Warning] Discourse empfiehlt die Entwicklung mit Ruby v3.1.3 oder höher. Sie verwenden v2.7.6.
PG::UndefinedTable: ERROR:  relation "pg_range" does not exist
LINE 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
Konnte die Datenbank 'discourse_development' nicht erstellen. Bitte überprüfen Sie Ihre Konfiguration.
rake aborted!
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  relation "pg_range" does not exist
LINE 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `load'
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `<main>'

Caused by:
PG::UndefinedTable: ERROR:  relation "pg_range" does not exist
LINE 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `load'
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `<main>'
Tasks: TOP => db:create
(Siehe vollständigen Trace, indem Sie die Aufgabe mit --trace ausführen)

Was soll ich tun?
Ich verwende WSL 2 und Ubuntu 18.04.5 und PostgreSQL Version 9.2

Das ist sehr alt.
Du solltest heutzutage 13.x verwenden.

2 „Gefällt mir“

In Ordnung, ich werde versuchen, ein Upgrade durchzuführen.

1 „Gefällt mir“

Ich bin mir nicht sicher, ob es die Ursache Ihres Problems ist, aber es wird definitiv kompatibler sein :slight_smile:

Jetzt habe ich diesen Fehler:

[Warnung] Discourse empfiehlt die Entwicklung mit Ruby v3.1.3 oder höher. Sie verwenden v2.7.6.
PG::UndefinedTable: FEHLER:  Relation „pg_range“ existiert nicht
ZEILE 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
Konnte die Datenbank „discourse_development“ nicht erstellen. Bitte überprüfen Sie Ihre Konfiguration.
rake abgebrochen!
ActiveRecord::StatementInvalid: PG::UndefinedTable: FEHLER:  Relation „pg_range“ existiert nicht
ZEILE 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `load'
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `<main>'

Verursacht durch:
PG::UndefinedTable: FEHLER:  Relation „pg_range“ existiert nicht
ZEILE 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `load'
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `<main>'
Aufgaben: TOP => db:create
(Vollständige Spur anzeigen, indem Sie die Aufgabe mit --trace ausführen)

Laut diesem SO-Link haben Sie entweder eine alte oder eine beschädigte Datenbank.

Wie erstelle ich dann einen neuen? Ich habe noch nie zuvor PostgreSQL verwendet.

Nun erhalte ich eine andere Fehlermeldung:

[Warning] Discourse empfiehlt die Entwicklung mit Ruby v3.1.3 oder höher. Sie verwenden v2.7.6.
Wir konnten Ihre Datenbank nicht finden: postgres. Diese befindet sich in der Datenbankkonfigurationsdatei unter config/database.yml.

Um dieses Problem zu beheben:

- Haben Sie die Datenbank für diese App erstellt oder gelöscht? Möglicherweise müssen Sie Ihre Datenbank erstellen.
- Wurde der Datenbankname geändert? Überprüfen Sie, ob Ihre Datenbank.yml-Konfiguration den korrekten Datenbanknamen enthält.

Um Ihre Datenbank zu erstellen, führen Sie aus:

        bin/rails db:create
Datenbank 'discourse_development' konnte nicht erstellt werden. Bitte überprüfen Sie Ihre Konfiguration.
rake aborted!
ActiveRecord::NoDatabaseError: Wir konnten Ihre Datenbank nicht finden: postgres. Diese befindet sich in der Datenbankkonfigurationsdatei unter config/database.yml.

Um dieses Problem zu beheben:

- Haben Sie die Datenbank für diese App erstellt oder gelöscht? Möglicherweise müssen Sie Ihre Datenbank erstellen.
- Wurde der Datenbankname geändert? Überprüfen Sie, ob Ihre Datenbank.yml-Konfiguration den korrekten Datenbanknamen enthält.

Um Ihre Datenbank zu erstellen, führen Sie aus:

        bin/rails db:create
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `load'
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `<main>'

Verursacht durch:
PG::ConnectionBad: Verbindung zum Server über Socket „/var/run/postgresql/.s.PGSQL.5432“ fehlgeschlagen: Datei oder Verzeichnis nicht gefunden
        Läuft der Server lokal und akzeptiert er Verbindungen über diesen Socket?
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `load'
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `<main>'
Tasks: TOP => db:create
(Vollständige Trace durch Ausführen der Aufgabe mit --trace anzeigen)

Ich habe mich also entschieden, dieser Anleitung zu folgen:

Ich erhalte diese Fehlermeldung nach der Meldung „Datenbank migrieren“:

Datenbank migrieren...
rake fehlgeschlagen!
Discourse::Utils::CommandError: /src/lib/discourse.rb:134:in `exec': mkdir: Verzeichnis ‘/src/public/plugins/’ kann nicht erstellt werden: Permission denied
/src/lib/discourse.rb:168:in `execute_command'
/src/lib/discourse.rb:134:in `exec'
/src/lib/discourse.rb:30:in `execute_command'
/src/lib/plugin/instance.rb:727:in `activate!'
/src/lib/discourse.rb:337:in `block in activate_plugins!'
/src/lib/discourse.rb:334:in `each'
/src/lib/discourse.rb:334:in `activate_plugins!'
/src/config/application.rb:216:in `block in <class:Application>'
/src/lib/plugin.rb:6:in `initialization_guard'
/src/config/application.rb:216:in `<class:Application>'
/src/config/application.rb:75:in `<module:Discourse>'
/src/config/application.rb:74:in `<main>'
/home/discourse/.bundle/gems/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/discourse/.bundle/gems/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/src/Rakefile:7:in `<main>'
(Siehe vollständigen Trace, indem Sie die Aufgabe mit --trace ausführen)

Ich habe damit immer noch Probleme, gibt es Lösungen?