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.