Échec de la restauration de la DB

J’essayais de restaurer ma sauvegarde sur un nouveau serveur, mais des erreurs sont apparues.

Le journal se trouve ici : Ubuntu Pastebin

L’erreur est peut-être :

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.

Je pensais qu’il s’agissait d’un problème de base de données, mais je ne l’ai pas modifiée. J’ai simplement téléchargé l’archive de sauvegarde, mais je l’ai restaurée incorrectement.

Merci de m’aider !

Il y a un autre fil avec un problème similaire.

C’est un problème étrange.

Beaucoup d’entre nous l’ont résolu simplement en continuant d’essayer.

Essayez plusieurs fois et peut-être que l’une des fois, vous n’aurez pas l’erreur.

Il se peut que votre problème soit différent, mais il ressemble aux erreurs de base de données que nous avons rencontrées lors de la restauration.

Il semble qu’il y ait un bug dans les scripts de restauration ou une sorte de bug avec le système de base de données PostgreSQL utilisé.

Quelle solution étrange… FML
Serait-il possible de modifier le fichier SQL pour le rendre normal ?

Je veux dire, existe-t-il un moyen d’ignorer les clés dupliquées ?

Et après avoir reconstruit vers une version antérieure ou une version bêta, le journal est devenu :

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'

Pourquoi cela pose-t-il problème ? Je n’ai rien modifié dans le fichier tar.

Jetez un coup d’œil à :

Merci beaucoup pour cette opération d’extraction !

Pourriez-vous s’il vous plaît m’aider avec l’erreur de clé dupliquée ? Ou existe-t-il un moyen de corriger ce SQL dans psql ?

@daniel Je pense que la migration dans FIX: Add unique index to prevent duplicate slugs for categories · discourse/discourse@c71da3f · GitHub doit s’assurer que les valeurs de la colonne sont uniques avant de créer l’index unique.

@Rasin, Ceci devrait maintenant être corrigé depuis :

Merci de nous avoir signalé ce problème et nous nous excusons pour tout désagrément. N’hésitez pas à nous informer si vous rencontrez d’autres problèmes.

Oui, je vous l’ai déjà dit : c’est une chose étrange.

Mais cela a fonctionné pour plusieurs d’entre nous, comme vous pouvez le lire ici :

Je ne sais pas si votre situation est la même, car l’erreur est similaire mais pas exactement identique.

@usulrasolas a commenté qu’il avait modifié le script avec des requêtes SQL pour le corriger.

Mais moi (et d’autres) n’avons rien changé, nous avons simplement essayé à plusieurs reprises.

C’est étrange, je le sais, mais il se peut que des problèmes de temporisation ou d’expiration du temps soient en jeu.
Nous ne savons pas.
Les développeurs y travaillent.

Merci pour toutes vos suggestions ! Nous attendons avec impatience les nouvelles mises à jour.