Proses yang biasa dilakukan adalah:
pg_dumpall --globals-only
untuk mendapatkan pengguna/peran/dllpg_dump -Fc
untuk setiap database untuk mendapatkan dump terkompresi bagus yang cocok untuk digunakan denganpg_restore
.
Ya, menyebalkan seperti ini. Saya sangat ingin mengajar pg_dump
untuk menyematkan pg_dumpall
output ke -Fc
dumps, tapi sayangnya saat ini tidak tahu caranya jadi Anda harus melakukannya sendiri.
Hingga PostgreSQL 11 ada juga peringatan buruk dengan pendekatan ini:Baik pg_dump
, atau pg_dumpall
di --globals-only
mode akan membuang akses pengguna GRANT
ada di DATABASE
s. Jadi, Anda harus mengekstraknya dari katalog atau memfilter pg_dumpall
. Ini diperbaiki di PostgreSQL 11; lihat catatan rilis
.
Anda juga harus mengetahui tentang pencadangan fisik - pg_basebackup
, Pengarsipan PgBarman dan WAL, PITR, dll. Ini menawarkan banyak pemulihan "berbutir halus", hingga transaksi menit atau individu. Kelemahannya adalah mereka menghabiskan lebih banyak ruang, hanya dapat dipulihkan ke versi PostgreSQL yang sama pada platform yang sama, dan mencadangkan semua tabel di semua database tanpa kemampuan untuk mengecualikan apa pun.