PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

pg_dump senza commenti sugli oggetti?

AFAIK, né pg_dumppg_restore hanno opzioni per rimuovere COMMENT S. Ma, se usi un formato di dump binario come:

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

potresti estrarre la voce TOC e modificarla:

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

Quanto sopra estrarrà un file TOC e lo salverà in /path/to/backup.toc , quindi potresti trovare ogni riga con COMMENT inserire e rimuoverlo o commentarlo. Se non usi nomi strani sui tuoi oggetti, un semplice sed risolverebbe il problema, commentare le righe con COMMENT s potresti farlo (un punto e virgola inizia un commento):

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

Con questo nuovo file TOC, ora puoi utilizzare pg_restore per ripristinare il tuo dump (con -L opzione):

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