PG::UndefinedTable: ERRORE: la relazione "pg_range" non esiste

Sto seguendo la guida qui:

Quando eseguo bundle exec rake db:create si verifica un errore e dice:

[Warning] Discourse consiglia di sviluppare utilizzando Ruby v3.1.3 o versioni successive. Stai usando v2.7.6.
PG::UndefinedTable: ERROR:  relation "pg_range" does not exist
LINE 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
Impossibile creare il database 'discourse_development'. Controlla la tua configurazione.
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
(See full trace by running task with --trace)

Cosa devo fare?
Sto usando WSL 2 e Ubuntu 18.04.5 e PostgreSQL versione 9.2

Questo è molto vecchio.
Dovresti usare la versione 13.x ormai.

2 Mi Piace

Va bene, proverò l’aggiornamento.

1 Mi Piace

Non sono sicuro che sia la causa del tuo problema, ma sarà sicuramente più compatibile :slight_smile:

Ora ho questo errore:

[Warning] Discourse consiglia di sviluppare utilizzando Ruby v3.1.3 o versioni successive. Stai usando la v2.7.6.
PG::UndefinedTable: ERRORE: la relazione "pg_range" non esiste
LINEA 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
Impossibile creare il database 'discourse_development'. Si prega di controllare la configurazione.
rake aborted!
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERRORE: la relazione "pg_range" non esiste
LINEA 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>'

Causato da:
PG::UndefinedTable: ERRORE: la relazione "pg_range" non esiste
LINEA 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
(Vedi la traccia completa eseguendo il task con --trace)

Secondo quel link di SO, hai un database vecchio o corrotto.

Come ne creo uno nuovo, allora? Non ho mai usato PostgreSQL prima.

Ora sto riscontrando un errore diverso:

[Warning] Discourse consiglia di sviluppare utilizzando Ruby v3.1.3 o versioni successive. Stai usando la v2.7.6.
Non siamo riusciti a trovare il tuo database: postgres. Che si trova nel file di configurazione del database situato in config/database.yml.

Per risolvere questo problema:

- Hai creato il database per questa app o l'hai eliminato? Potrebbe essere necessario creare il tuo database.
- Il nome del database è cambiato? Controlla che il tuo file di configurazione database.yml abbia il nome del database corretto.

Per creare il tuo database, esegui:

        bin/rails db:create
Impossibile creare il database 'discourse_development'. Controlla la tua configurazione.
rake aborted!
ActiveRecord::NoDatabaseError: Non siamo riusciti a trovare il tuo database: postgres. Che si trova nel file di configurazione del database situato in config/database.yml.

Per risolvere questo problema:

- Hai creato il database per questa app o l'hai eliminato? Potrebbe essere necessario creare il tuo database.
- Il nome del database è cambiato? Controlla che il tuo file di configurazione database.yml abbia il nome del database corretto.

Per creare il tuo database, esegui:

        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>'

Caused by:
PG::ConnectionBad: la connessione al server sul socket "/var/run/postgresql/.s.PGSQL.5432" è fallita: Nessun file o directory
        Il server è in esecuzione localmente e accetta connessioni su quel 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
(Vedi la traccia completa eseguendo il task con --trace)

Ho deciso di seguire questa guida:

Ricevo questo errore dopo il messaggio “migrating database”:

Migrating database...
rake aborted!
Discourse::Utils::CommandError: /src/lib/discourse.rb:134:in `exec': mkdir: cannot create directory ‘/src/public/plugins/’: 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:74: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>'
(See full trace by running task with --trace)

Ho ancora problemi con questo, ci sono soluzioni?