PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

pg_dump sem comentários sobre objetos?


AFAIK, nem pg_dump nem pg_restore tem opções para remover COMMENT s. Mas, se você usar um formato de despejo binário como:
 $ pg_dump -Fc <your connection> -f /path/to/backup.dump

você pode extrair a entrada do sumário e editá-la:
 $ pg_restore -l -f /path/to/backup.toc /path/to/backup.dump

O acima irá extrair um arquivo TOC e salvá-lo em /path/to/backup.toc , então você pode encontrar cada linha com COMMENT entrada e remova-a ou comente-a. Se você não usa nomes estranhos em seus objetos, um simples sed resolveria o problema, comentar as linhas com COMMENT s você pode fazer isso (um ponto e vírgula inicia um comentário):
$ sed -i 's/^\(.* COMMENT .*\)/;\1/g' bar.toc

Com este novo arquivo TOC, agora você pode usar pg_restore para restaurar seu dump (com -L opção):
$ pg_restore -L /path/to/backup.toc -d <your database> /path/to/backup.dump