Estou com o seguinte problema. Tenho um fórum Discourse em funcionamento há mais de 10 anos e, como não tenho conseguido instalar atualizações há algum tempo, decidi configurar um novo servidor:
Servidor antigo: 3.4.0.beta4-dev
Novo servidor: Versão mais recente
O backup já tem 673,2 MB como arquivo .gz, excluindo os uploads.
Infelizmente, a restauração está sendo abortada repetidamente. O arquivo de log contém este erro:
[2026-06-16 07:54:52] ERROR: could not create unique index “index_incoming_referers_on_path_and_incoming_domain_id”
[2026-06-16 07:54:52] DETAIL: Key (path, incoming_domain_id)=(//, 5) is duplicated.
[2026-06-16 07:54:52] EXCEPTION: psql failed: DETAIL: Key (path, incoming_domain_id)=(//, 5) is duplicated.
[2026-06-16 07:54:52] /var/www/discourse/lib/backup_restore/database_restorer.rb:93:in 'BackupRestore::DatabaseRestorer#restore_dump'
/var/www/discourse/lib/backup_restore/database_restorer.rb:26:in ‘BackupRestore::DatabaseRestorer#restore’
/var/www/discourse/lib/backup_restore/restorer.rb:61:in 'BackupRestore::Restorer#run'
/var/www/discourse/script/spawn_backup_restore.rb:20:in ‘Object#restore’
/var/www/discourse/script/spawn_backup_restore.rb:33:in ‘block in ’
/var/www/discourse/script/spawn_backup_restore.rb:4:in 'Kernel#fork'
/var/www/discourse/script/spawn_backup_restore.rb:4:in ‘’
[2026-06-16 07:54:52] Trying to rollback...
O que posso fazer para resolver esse problema e não perder os últimos 10 anos de dados?
A tabela incoming_referers rastreia os caminhos de URL que referenciaram visitantes ao seu fórum. Ela possui um índice único, o que significa que não pode haver duas linhas com a mesma combinação de caminho + domínio.
Seu banco de dados possui duas linhas com path='//' e incoming_domain_id=5. Quando tenta reconstruir este índice único durante a restauração, ele encontra a duplicata e aborta toda a transação de restauração.
Então, você precisará encontrar e limpar essa duplicata em incoming_referers e, em seguida, criar um novo backup para restaurar no novo servidor.
Desculpe incomodar, mas acho que estou fazendo algo errado — após executar o comando “discourse=# select * from incoming_referers where path LIKE ‘%/search/’ ORDER BY incoming_domain_id;”, estou recebendo um erro de sintaxe.
Ok, agora também instalei “apt install postgresql-client-common”. No entanto, ainda estou recebendo o erro “Erro: Você deve instalar pelo menos um pacote postgresql-client-.”
Não se preocupe, talvez minhas instruções não sejam tão boas assim
Fico confuso quando você diz que acabou de instalar o Rails e não consegue acessar seu banco de dados. Talvez seja tudo diferente porque é uma versão mais antiga, mas acho que também estou fora da minha zona de conforto agora.
De qualquer forma, assim que você estiver no Rails, o prompt deve ser diferente, então, pela sua saída, parece que você ainda não está no console do Rails.
Acho que você nem está no container propriamente dito. Você já fez ./launcher enter app?