Erreur lors de l'importation de la sauvegarde : "impossible de créer un index unique"

Ok, c’est corrigé. Voici ce que j’ai fait :

Entrer dans le conteneur

./launcher enter app

Se connecter à la base de données

su postgres -c 'psql discourse'

Tenter de trouver les doublons

discourse=# select * from incoming_referers where path LIKE '%/search/' ORDER BY incoming_domain_id;

  id  |    path    | incoming_domain_id
------+------------+--------------------
 3339 | /search/   |                 33
 6257 | /search/   |                 91
 1567 | /search/   |                298
 1777 | /search/   |                341
 3010 | /search/   |                418
 6247 | /search/   |                418
 4293 | /search/   |                644
 2899 | /search/   |                653
 3447 | /search/   |                793
 3696 | /search/   |                852
 4395 | /a/search/ |               1050
 6968 | /search/   |               1305
 5634 | /search/   |               1387
 5834 | /search/   |               1437
 6519 | /search/   |               1637
 7127 | /search/   |               1787
 7280 | /search/   |               1827
(17 rows)

Supprimer le doublon

DELETE FROM incoming_referers WHERE path LIKE '%/search/' AND id IN (6247);

Ensuite, reconstruire

discourse=# REINDEX SCHEMA CONCURRENTLY public;
WARNING:  cannot reindex invalid index "public.incoming_referers_pkey_ccnew" concurrently, skipping
WARNING:  cannot reindex invalid index "public.index_incoming_referers_on_path_and_incoming_domain_id_ccnew" concurrently, skipping
WARNING:  cannot reindex invalid index "pg_toast.pg_toast_20732_index_ccnew" concurrently, skipping
REINDEX

J’ai ensuite pris une nouvelle sauvegarde, copiée sur le nouveau serveur, et l’importation s’est déroulée avec succès :smiley:

Ce serait bien que le processus de sauvegarde détecte les doublons pour éviter tout problème. J’ai eu de la chance d’avoir accès au serveur d’origine qui était toujours en cours d’exécution. Si j’avais restauré une sauvegarde froide, cela aurait probablement posé plus de problèmes.

Un grand merci pour votre aide.