Impossibile ripristinare il DB

Stavo cercando di ripristinare il mio backup su un nuovo server e sono stati segnalati alcuni errori.

Il log è qui: Ubuntu Pastebin

L’errore potrebbe essere:

PG::UniqueViolation: ERROR:  could not create unique index "unique_index_categories_on_slug"
DETAIL:  Key (COALESCE(parent_category_id, '-1'::integer), slug)=(5, ) is duplicated.

Pensavo potesse essere un problema del database, ma non l’ho modificato. Ho solo scaricato il backup tar e l’ho ripristinato in modo errato.

Per favore, aiutatemi!

C’è un’altra discussione con un problema simile.

È un problema strano.

Molti di noi l’hanno risolto semplicemente continuando a riprovare.

Prova più volte e forse in uno di quei tentativi non avrai l’errore.

Forse il tuo problema è diverso, ma assomiglia agli errori del database che abbiamo avuto durante il ripristino.

Sembra esserci un bug negli script di ripristino o qualche tipo di problema con il sistema di database PostgreSQL utilizzato.

Che soluzione strana… FML
È possibile modificare il file SQL per renderlo normale?

Voglio dire, esiste un modo per ignorare le chiavi duplicate?

E dopo aver ricostruito su una versione precedente o su una beta, il log è diventato:

EXCEPTION: Compression::Strategy::ExtractFailed[2019-10-16 07:53:52] /var/www/discourse/lib/compression/strategy.rb:89:in `block in extract_file'
/var/www/discourse/lib/compression/strategy.rb:85:in `open'
/var/www/discourse/lib/compression/strategy.rb:85:in `extract_file'
/var/www/discourse/lib/compression/strategy.rb:26:in `block (2 levels) in decompress'
/usr/local/lib/ruby/site_ruby/2.6.0/rubygems/package/tar_reader.rb:65:in `each'
/var/www/discourse/lib/compression/strategy.rb:18:in `block in decompress'
/var/www/discourse/lib/compression/tar.rb:26:in `get_compressed_file_stream'
/var/www/discourse/lib/compression/strategy.rb:15:in `decompress'
/var/www/discourse/lib/compression/pipeline.rb:26:in `block in decompress'
/var/www/discourse/lib/compression/pipeline.rb:24:in `each'
/var/www/discourse/lib/compression/pipeline.rb:24:in `reduce'
/var/www/discourse/lib/compression/pipeline.rb:24:in `decompress'
/var/www/discourse/lib/backup_restore/restorer.rb:141:in `decompress_archive'
/var/www/discourse/lib/backup_restore/restorer.rb:60:in `run'
/var/www/discourse/lib/backup_restore.rb:166:in `block in start!'
/var/www/discourse/lib/backup_restore.rb:163:in `fork'
/var/www/discourse/lib/backup_restore.rb:163:in `start!'
/var/www/discourse/lib/backup_restore.rb:22:in `restore!'
/var/www/discourse/app/controllers/admin/backups_controller.rb:119:in `restore'

Perché questo è un problema? Non ho modificato nulla nel file tar.

Dai un’occhiata a:

Grazie mille per questa cosa di estrazione!

Potresti aiutarmi con l’errore di chiave duplicata? O c’è un modo per correggere questo SQL su psql?

@daniel Penso che la migrazione in FIX: Add unique index to prevent duplicate slugs for categories · discourse/discourse@c71da3f · GitHub debba assicurarsi che i valori della colonna siano unici prima di creare l’indice univoco.

@Rasin, questo dovrebbe essere risolto ora a partire da:

Grazie per averlo segnalato e ci scusiamo per eventuali disagi. Facci sapere se hai altri problemi.

Sì, ve l’ho già detto: è una cosa strana.

Ma per alcuni di noi ha funzionato, come potete leggere qui:

Non so se la tua situazione sia la stessa, poiché l’errore è simile ma non esattamente identico.

@usulrasolas ha commentato di aver modificato lo script con comandi SQL per correggerlo.

Ma io (e altri) non abbiamo apportato alcuna modifica, abbiamo solo provato più volte.

È strano, lo so, ma potrebbero esserci coinvolti problemi di tempistica o di scadenza del tempo.

Non lo sappiamo.
Gli sviluppatori lo stanno esaminando.

Grazie per tutti i vostri suggerimenti! Non vediamo l’ora di ricevere nuovi aggiornamenti.