PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

pg_dump sans commentaires sur les objets ?

AFAIK, ni pg_dump ni pg_restore avoir des options pour supprimer COMMENT s. Mais, si vous utilisez un format de vidage binaire comme :

 $ pg_dump -Fc <your connection> -f /path/to/backup.dump

vous pouvez extraire l'entrée TOC et la modifier :

 $ pg_restore -l -f /path/to/backup.toc /path/to/backup.dump

Ce qui précède extraira un fichier TOC et l'enregistrera dans /path/to/backup.toc , alors vous pourriez trouver chaque ligne avec COMMENT entrée et supprimez-la ou commentez-la. Si vous n'utilisez pas de noms étranges sur vos objets, un simple sed résoudrait le problème, commenter les lignes avec COMMENT s vous pouvez le faire (un point-virgule commence un commentaire):

$ sed -i 's/^\(.* COMMENT .*\)/;\1/g' bar.toc

Avec ce nouveau fichier TOC, vous pouvez désormais utiliser pg_restore pour restaurer votre dump (avec -L option):

$ pg_restore -L /path/to/backup.toc -d <your database> /path/to/backup.dump