PG::UndefinedTable: ERROR: la relación "pg_range" no existe

Estoy siguiendo la guía aquí:

Cuando ejecuto bundle exec rake db:create simplemente falla y dice:

[Warning] Discourse recomienda desarrollar usando Ruby v3.1.3 o superior. Estás usando v2.7.6.
PG::UndefinedTable: ERROR:  la relación "pg_range" no existe
LINE 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
No se pudo crear la base de datos 'discourse_development'. Por favor, comprueba tu configuración.
rake aborted!
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  la relación "pg_range" no existe
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>'

Causado por:
PG::UndefinedTable: ERROR:  la relación "pg_range" no existe
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
(Ver el rastreo completo ejecutando la tarea con --trace)

¿Qué hago?
Estoy usando WSL 2 y Ubuntu 18.04.5, y PostgreSQL versión 9.2

Eso es muy antiguo.
Deberías estar ejecutando la versión 13.x hoy en día.

De acuerdo, intentaré actualizar.

No estoy seguro de que sea la causa de tu problema, pero definitivamente será más compatible :slight_smile:

Ahora tengo este error:

[Advertencia] Discourse recomienda desarrollar usando Ruby v3.1.3 o superior. Estás usando v2.7.6.
PG::UndefinedTable: ERROR: la relación «pg_range» no existe
LÍNEA 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
No se pudo crear la base de datos 'discourse_development'. Por favor, comprueba tu configuración.
rake aborted!
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: la relación «pg_range» no existe
LÍNEA 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>'

Causado por:
PG::UndefinedTable: ERROR: la relación «pg_range» no existe
LÍNEA 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>'
Tareas: TOP => db:create
(Ver el rastreo completo ejecutando la tarea con --trace)

Según ese enlace de SO, tienes una base de datos antigua o corrupta.

¿Cómo creo uno nuevo, entonces? Nunca antes había usado PostgreSQL.

Bueno, ahora estoy recibiendo un error diferente:

[Advertencia] Discourse recomienda desarrollar usando Ruby v3.1.3 o superior. Estás usando v2.7.6.
No pudimos encontrar tu base de datos: postgres. La cual se encuentra en el archivo de configuración de la base de datos ubicado en config/database.yml.

Para resolver este problema:

- ¿Creaste la base de datos para esta aplicación o la eliminaste? Es posible que necesites crear tu base de datos.
- ¿Ha cambiado el nombre de la base de datos? Comprueba que tu configuración de database.yml tenga el nombre de base de datos correcto.

Para crear tu base de datos, ejecuta:

        bin/rails db:create
No se pudo crear la base de datos 'discourse_development'. Por favor, comprueba tu configuración.
rake aborted!
ActiveRecord::NoDatabaseError: No pudimos encontrar tu base de datos: postgres. La cual se encuentra en el archivo de configuración de la base de datos ubicado en config/database.yml.

Para resolver este problema:

- ¿Creaste la base de datos para esta aplicación o la eliminaste? Es posible que necesites crear tu base de datos.
- ¿Ha cambiado el nombre de la base de datos? Comprueba que tu configuración de database.yml tenga el nombre de base de datos correcto.

Para crear tu base de datos, ejecuta:

        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 conexión al servidor en el socket \"/var/run/postgresql/.s.PGSQL.5432\" falló: No existe tal archivo o directorio
        ¿Está el servidor ejecutándose localmente y aceptando conexiones en ese 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
(Ver el trace completo ejecutando la tarea con --trace)

Así que decidí seguir esta guía:

Recibo este error después del mensaje “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: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>'
(See full trace by running task with --trace)

Todavía tengo problemas con esto, ¿alguna solución?