Problème avec la restauration : « commande non valide \restrict »

J’ai des problèmes pour effectuer une restauration à partir de « Discourse 3.5.0.beta9-dev - 04dbc622ab1e0197d16703ba47cf005ec93697ee » vers la version actuelle (6f06709643fa5e2253606c46f79d089ca3393ac9)

[STARTED]
'system' a démarré la restauration !
Marquage de la restauration comme en cours...
Vérification que /home/pfaffman/src/discourse-repos/discourse/tmp/restores/default/2025-10-28-201139 existe...
Téléchargement de l'archive dans le répertoire tmp...
Extraction du fichier de vidage...
Validation des métadonnées...
  Version actuelle : 20251024020353
  Version restaurée : 20250724012518
Activation du mode lecture seule...
Pause de Sidekiq...
Attente jusqu'à 60 secondes pour que Sidekiq termine les tâches en cours...
Création des fonctions manquantes dans le schéma discourse_functions...
Restauration du fichier de vidage... (cela peut prendre un certain temps)
commande invalide \restrict
EXCEPTION : psql a échoué : commande invalide \restrict

Si je supprime ces commandes printf de database_restorer, cela fonctionne :

      <<~CMD
        (
          printf '%s\n' "\\\restrict #{nonce}"
          #{sed_command}
          printf '%s\n' "\\\unrestrict #{nonce}"
        ) | #{self.class.psql_command} 2>&1
      CMD

Cela ressemble à ce commit.

Sur la version où la sauvegarde a été effectuée (un conteneur docker cdck), j’ai ceci :

PostgreSQL 15.13 (Debian 15.13-1.pgdg120+1) on x86_64-pc-linux-gnu, compilé par gcc (Debian 12.2.0-14) 12.2.0, 64-bit

et c’est là que j’essaie de restaurer (site de développement exécutant pg15 sur le bare metal) :

PostgreSQL 15.13 (Ubuntu 15.13-1.pgdg22.04+1) on x86_64-pc-linux-gnu, compilé par gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, 64-bit

Je ne comprends pas ce que ce code essaie de faire, donc je suis juste confus.

Vous devez être sur la PG 15.14 et vous assurer que toutes vos instances sont sur celle-ci. Cela corrige un problème de sécurité majeur.

3 « J'aime »

Ah. C’est une explication très simple.

Merci. Je m’en occupe.

2 « J'aime »