AFAIK, không phải pg_dump
cũng không phải pg_restore
có các tùy chọn để xóa COMMENT
S. Tuy nhiên, nếu bạn sử dụng định dạng kết xuất nhị phân như:
$ pg_dump -Fc <your connection> -f /path/to/backup.dump
bạn có thể trích xuất mục TOC và chỉnh sửa nó:
$ pg_restore -l -f /path/to/backup.toc /path/to/backup.dump
Ở trên sẽ giải nén một tệp TOC và lưu nó tại /path/to/backup.toc
, sau đó bạn có thể tìm thấy từng dòng với COMMENT
mục nhập và loại bỏ hoặc nhận xét nó. Nếu bạn không sử dụng các tên lạ trên các đối tượng của mình, một sed
đơn giản sẽ giải quyết vấn đề, để nhận xét các dòng với COMMENT
s bạn có thể làm điều này (dấu chấm phẩy bắt đầu nhận xét):
$ sed -i 's/^\(.* COMMENT .*\)/;\1/g' bar.toc
Với tệp TOC mới này, bây giờ bạn có thể sử dụng pg_restore
để khôi phục kết xuất của bạn (với -L
tùy chọn):
$ pg_restore -L /path/to/backup.toc -d <your database> /path/to/backup.dump