Ich habe Probleme bei der Wiederherstellung von „Discourse 3.5.0.beta9-dev - 04dbc622ab1e0197d16703ba47cf005ec93697ee“ auf die aktuelle Version (6f06709643fa5e2253606c46f79d089ca3393ac9)
[STARTED]
'system' hat die Wiederherstellung gestartet!
Wiederherstellung als laufend markieren...
Sicherstellen, dass /home/pfaffman/src/discourse-repos/discourse/tmp/restores/default/2025-10-28-201139 existiert...
Archiv in das tmp-Verzeichnis herunterladen...
Dump-Datei extrahieren...
Metadaten validieren...
Aktuelle Version: 20251024020353
Wiederhergestellte Version: 20250724012518
Schreibgeschützten Modus aktivieren...
Sidekiq pausieren...
Bis zu 60 Sekunden warten, bis Sidekiq die Ausführung von Jobs beendet hat...
Fehlende Funktionen im discourse_functions-Schema erstellen...
Dump-Datei wiederherstellen... (dies kann eine Weile dauern)
ungültiger Befehl \restrict
EXCEPTION: psql fehlgeschlagen: ungültiger Befehl \restrict
Wenn ich diese printf-Befehle aus dem Datenbank-Restorer entferne, funktioniert es:
<<~CMD
(
printf '%s\\n' "\\\\\\\\restrict #{nonce}"
#{sed_command}
printf '%s\\n' "\\\\\\\\unrestrict #{nonce}"
) | #{self.class.psql_command} 2>&1
CMD
Es sieht aus wie dieser Commit.
Auf der Version, auf der das Backup erstellt wurde (ein cdck Docker-Container), habe ich Folgendes:
PostgreSQL 15.13 (Debian 15.13-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
und hier versuche ich die Wiederherstellung (Entwicklungsseite mit pg15 auf der Bare-Metal):
PostgreSQL 15.13 (Ubuntu 15.13-1.pgdg22.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, 64-bit
Ich verstehe nicht, was dieser Code zu tun versucht, daher bin ich verwirrt.