AFAIK, ani pg_dump
ani pg_restore
mieć opcje, aby usunąć COMMENT
s. Ale jeśli używasz binarnego formatu zrzutu, takiego jak:
$ pg_dump -Fc <your connection> -f /path/to/backup.dump
możesz wyodrębnić wpis spisu treści i edytować go:
$ pg_restore -l -f /path/to/backup.toc /path/to/backup.dump
Powyższe spowoduje wyodrębnienie pliku spisu treści i zapisanie go w /path/to/backup.toc
, możesz znaleźć każdy wiersz z COMMENT
wpis i usuń go lub skomentuj. Jeśli nie używasz dziwnych nazw na swoich obiektach, prosty sed
rozwiąże problem, skomentowanie linii za pomocą COMMENT
Możesz to zrobić (średnik rozpoczyna komentarz):
$ sed -i 's/^\(.* COMMENT .*\)/;\1/g' bar.toc
Dzięki temu nowemu plikowi spisu treści możesz teraz używać pg_restore
aby przywrócić zrzut (za pomocą -L
opcja):
$ pg_restore -L /path/to/backup.toc -d <your database> /path/to/backup.dump