PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

pg_dump a pg_dumpall? którego użyć do tworzenia kopii zapasowych baz danych?

Zwykły proces to:

  • pg_dumpall --globals-only aby zdobyć użytkowników/role/etc
  • pg_dump -Fc dla każdej bazy danych, aby uzyskać ładny skompresowany zrzut odpowiedni do użycia z pg_restore .

Tak, ten rodzaj jest do bani. Naprawdę chciałbym uczyć pg_dump osadzić pg_dumpall wypisz do -Fc zrzuca, ale teraz niestety nie wie, jak to zrobić, więc musisz to zrobić sam.

Aż do PostgreSQL 11 istniało również nieprzyjemne zastrzeżenie związane z tym podejściem:Ani pg_dump ani pg_dumpall w --globals-only tryb zrzuciłby dostęp użytkownika GRANT s na DATABASE s. Musiałeś więc wyodrębnić je z katalogów lub przefiltrować pg_dumpall . Zostało to naprawione w PostgreSQL 11; zobacz informacje o wydaniu .

Powinieneś także wiedzieć o fizycznych kopiach zapasowych - pg_basebackup , archiwizacja PgBarman i WAL, PITR itp. Oferują one znacznie „drobniejsze” odzyskiwanie, co do minuty lub pojedynczej transakcji. Minusem jest to, że zajmują więcej miejsca, można je przywrócić tylko do tej samej wersji PostgreSQL na tej samej platformie i tworzą kopie zapasowe wszystkich tabel we wszystkich bazach danych bez możliwości wykluczenia czegokolwiek.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy SQLAlchemy ma funkcję agregującą bool_and?

  2. Domyślna lokalizacja bazy danych PostgreSQL w systemie Linux

  3. PostgreSQL Upsert z klauzulą ​​WHERE

  4. narzędzie do porównywania postgres

  5. Problem z kompilacją programu za pomocą pqxx