Después de ejecutar sudo -s y luego d/rake db:drop db:create db:migrate, recibí el siguiente error:
PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
Couldn't drop database 'discourse_development'
rake aborted!
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
Caused by:
PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
Tasks: TOP => db:drop:_unsafe
(See full trace by running task with --trace)
Hmm. Quizás solo elimina y recrea esas bases de datos tú mismo y luego migra con la tarea de rake. O dale al usuario de Discourse derechos para crear y destruir (creo que es más fácil).
Lamentablemente, no estoy muy familiarizado con el proceso de otorgar al usuario de Discourse los derechos para crear y destruir. En la primera opción, ¿estás diciendo que debería eliminar todas estas bases de datos y luego ejecutar d/rake db:create db:migrate? ¿Es correcto?
¡Gracias por tu ayuda hasta ahora! Solo quiero dar un paso atrás antes de profundizar en la solución de problemas de psql, mi objetivo principal es simplemente ejecutar el entorno de desarrollo de Docker de Discourse (en estable) en Ubuntu, lo que funciona bien y como se espera en Mac. ¿No debería poder hacer esto sin estos errores de tabla y migración? Cuando intento hacer una instalación limpia, obtengo el error de marcador, y después de resolverlo, obtengo este NoMethodError, y ahora el error InsufficientPrivilege.
Inicialmente pensé que era porque estaba en test-passed y luego cambiar a estable causó el problema, pero incluso en una instancia de Ubuntu limpia y vacía, el NoMethodError todavía aparece, esto es sin ninguna base de datos previa existente, solo hice el Paso #1 y el Paso #2 aquí:
¡Gracias por tu respuesta! Desafortunadamente, sigo encontrando el mismo problema:
d/bundle exec rake db:drop db:create db:migrate
PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
Couldn't drop database 'discourse_development'
rake aborted!
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Caused by:
PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => db:drop:_unsafe
(See full trace by running task with --trace)
Lo he intentado en una instancia vacía (reiniciada desde el principio, sin bases de datos ni información existentes) usando la guía para principiantes y arroja el mismo resultado.
Entonces necesitarás eliminar la base de datos de otra manera. Puedes buscar en Google cosas sobre postgres (eso es lo que hago cuando necesito hacerlo) o esperar a que alguien que pueda recordarlo publique aquí. La otra opción es ver que el usuario de discourse tiene derechos para eliminar y crear bases de datos.