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.

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

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?