surfup

Uji pemulihan PostgreSQL sebelum migrasi

Sandaran hanya berguna jika boleh dipulihkan ke persekitaran terpencil dan lulus semakan.

Ini latihan, bukan runbook pemulihan produksi. Sahkan enjin/versi pangkalan data, pemilik data, pengekalan, penyulitan dan ruang cakera yang tersedia sebelum membuat salinan. Jangan sekali-kali menguji dengan menulis ganti produksi.

Cipta dan kenal pasti sandaran

  • Gunakan kaedah sandaran yang didokumenkan oleh projek dan snapshot yang konsisten. Catat pangkalan data sumber, versi, cap masa/zon waktu, saiz, pemilik kunci penyulitan dan checksum.
  • Simpan salinan tersulit secara berasingan daripada hos produksi. Jauhkan rahsia daripada sejarah shell, tiket dan tangkapan skrin; sahkan kakitangan berkuasa boleh mendapatkan kuncinya.

Pulihkan ke sasaran yang terasing

  • Cipta pangkalan data kosong baharu dengan versi major dan peranan/sambungan serasi yang dimaksudkan. Pulihkan di situ menggunakan alat pemulihan PostgreSQL yang sepadan; jangan halakan arahan kepada produksi.
  • Semak jadual yang dijangka, kiraan baris bagi rekod kritikal, kekangan, permulaan aplikasi dan aliran kerja sampel baca sahaja. Catat tempoh pemulihan dan ketidakpadanan sebelum meluluskan migrasi.

Contoh dan hasil yang dijangka

  • Pilih alat pemulihan mengikut format: SQL biasa menggunakan psql; arkib custom/tar menggunakan pg_restore (periksa dengan pg_restore --list backup.dump). Pulihkan ke pangkalan data sementara yang terasing, dengan worker dan integrasi keluar dimatikan serta hanya rahsia ujian. Jangan gunakan produksi untuk latihan ini.
  • Catat kod keluar, masa berlalu, kiraan jadual yang dijangka dan semakan agregat yang diketahui. Jika pemulihan gagal atau kiraan berbeza, berhenti dan periksa ralat, sambungan serta peranan pada hos ujian sebelum migrasi. pg_dump meliputi satu pangkalan data; peranan global memerlukan sandaran berasingan.

Sumber primer