Depois de executar sudo -s e depois d/rake db:drop db:create db:migrate, recebi o seguinte erro:
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. Talvez apenas excluir e recriar esses bancos de dados você mesmo e migrá-los com a tarefa do rake. Ou dar ao usuário do discourse direitos de criar e destruir (acho que é mais fácil).
Infelizmente, não estou muito familiarizado com o processo de conceder ao usuário do Discourse direitos para criar e destruir. Na primeira opção, você está dizendo que devo apenas excluir todos esses bancos de dados e, em seguida, executar d/rake db:create db:migrate? Está correto?
Obrigado pela sua ajuda até agora! Quero apenas dar um passo atrás antes de me aprofundar na solução de problemas do psql, meu objetivo principal é apenas executar o ambiente de desenvolvimento do Discourse docker (na versão estável) no Ubuntu, que funciona bem e como esperado no Mac. Não deveria ser capaz de fazer isso sem esses erros de tabela e migração? Quando tento fazer uma instalação limpa, recebo o erro de marcador, e depois de resolvê-lo, recebo este erro NoMethodError, e agora o erro InsufficientPrivilege.
Inicialmente, pensei que era porque eu estava no test-passed, então mudar para a versão estável causou o problema, mas mesmo em uma instância Ubuntu limpa e vazia, o NoMethodError ainda aparece, isso sem nenhum banco de dados pré-existente, acabei de fazer o Passo #1 e o Passo #2 aqui:
Você consegue instalar a versão estável no Ubuntu sem problemas?
Obrigado pela sua resposta! Infelizmente, continuo a encontrar o mesmo 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)
Tentei isto numa instância vazia (reiniciada do início, sem bases de dados ou informações existentes) usando o guia para iniciantes e o resultado é o mesmo.
Então você precisará excluir o banco de dados de outra forma. Você pode pesquisar no Google sobre postgres (é o que eu faço quando preciso fazer isso) ou esperar que alguém que se lembre poste aqui. A outra opção é verificar se o usuário do discourse tem permissão para excluir e criar bancos de dados.