AFAIK, weder pg_dump
noch pg_restore
haben Optionen zum Entfernen von COMMENT
s. Aber wenn Sie ein binäres Dump-Format verwenden wie:
$ pg_dump -Fc <your connection> -f /path/to/backup.dump
Sie könnten den TOC-Eintrag extrahieren und bearbeiten:
$ pg_restore -l -f /path/to/backup.toc /path/to/backup.dump
Das Obige extrahiert eine TOC-Datei und speichert sie unter /path/to/backup.toc
, dann könntest du jede Zeile mit COMMENT
finden Eintrag und entfernen oder kommentieren Sie ihn. Wenn Sie keine seltsamen Namen für Ihre Objekte verwenden, genügt ein einfacher sed
würde das Problem lösen, die Zeilen mit COMMENT
zu kommentieren s könnten Sie Folgendes tun (ein Semikolon beginnt einen Kommentar):
$ sed -i 's/^\(.* COMMENT .*\)/;\1/g' bar.toc
Mit dieser neuen TOC-Datei können Sie jetzt pg_restore
verwenden um Ihren Dump wiederherzustellen (mit -L
Option):
$ pg_restore -L /path/to/backup.toc -d <your database> /path/to/backup.dump