Kompresja kopii zapasowej pg_dump

11

Podczas wykonywania pg_dump, którego powinienem użyć i dlaczego?

pg_dump -U <user> <database> | gzip -c > backup.gz

lub

pg_dump -F c -f backup.tar.gz -U <user> <database>

d4v3y0rk
źródło
1
W każdym razie nie używaj tej -dopcji, ponieważ jest przestarzała od 8.4 i nigdy nie miała zamiaru wybierać bazy danych do zrzutu, oznaczało to zamiast tego (z PG-8.3 doc ):> -d> - wstawia Zrzut danych jako WSTAW polecenia (zamiast KOPIUJ). Spowoduje to, że przywracanie będzie bardzo powolne; przydaje się głównie do tworzenia zrzutów, które można załadować do baz danych innych niż PostgreSQL. Ponadto, nie jest to dobry pomysł, aby sufiks nazwy pliku zrzutu w formacie niestandardowym ( -Fc) z .tar.gz bo to nie gzippowana tarfile. Niestandardowe zrzuty można przetwarzać tylko
Daniel Vérité

Odpowiedzi:

17

Zgodnie z pg_dumpdokumentacją niestandardowy format to:

najbardziej elastyczny format wyjściowy, ponieważ umożliwia ręczny wybór i zmianę kolejności zarchiwizowanych elementów podczas przywracania. Ten format jest również domyślnie skompresowany

Możesz także wybrać poziom kompresji za pomocą -Zopcji.

Dla uproszczenia zdecydowanie pg_dump -F cwybrałbym przeskakiwanie do gzip.

pkhamre
źródło