Rasin
(Rasin)
16 Ottobre 2019, 6:38am
1
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!
ariznaf
(fernando)
16 Ottobre 2019, 7:02am
2
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.
Rasin
(Rasin)
16 Ottobre 2019, 7:12am
3
Che soluzione strana… FML
È possibile modificare il file SQL per renderlo normale?
Voglio dire, esiste un modo per ignorare le chiavi duplicate?
Rasin
(Rasin)
16 Ottobre 2019, 7:57am
4
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.
Rasin
(Rasin)
16 Ottobre 2019, 12:46pm
6
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?
gerhard
(Gerhard Schlager)
16 Ottobre 2019, 1:39pm
7
Rasin:
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.
@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.
daniel
(Daniel Waterworth)
16 Ottobre 2019, 2:36pm
8
@Rasin , questo dovrebbe essere risolto ora a partire da:
committed 02:02PM - 16 Oct 19 UTC
Slugs can be the empty string, but the added index didn't account for
that. This… commit changes the migration, stopping it from being unique
so that it can be applied everywhere and adds another migration that
recreates the index properly.
Grazie per averlo segnalato e ci scusiamo per eventuali disagi. Facci sapere se hai altri problemi.
ariznaf
(fernando)
16 Ottobre 2019, 9:52pm
9
Sì, ve l’ho già detto: è una cosa strana.
Ma per alcuni di noi ha funzionato, come potete leggere qui:
Wow, trying to reproduce it so I can be sure that things will go as planned on migration, and I have the error again? I’m going to continue to try and find the steps to reproduce a fix. Because I can’t reproduce it now.
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.
Rasin
(Rasin)
17 Ottobre 2019, 1:22am
10
Grazie per tutti i vostri suggerimenti! Non vediamo l’ora di ricevere nuovi aggiornamenti.