surfup

migration से पहले PostgreSQL restore जाँचें

backup तभी उपयोगी है जब वह isolated environment में restore हो और जाँचों में सफल हो।

यह rehearsal है, production restore runbook नहीं। Copy बनाने से पहले database engine/version, data owner, retention, encryption और उपलब्ध disk की पुष्टि करें। Production को overwrite करके कभी परीक्षण न करें।

Backup बनाएँ और उसकी पहचान दर्ज करें

  • Project में दर्ज backup विधि और consistent snapshot इस्तेमाल करें। Source database, version, timestamp/timezone, size, encryption key owner और checksum दर्ज करें।
  • Encrypted copy को production host से अलग रखें। Shell history, tickets और screenshots में secrets न रखें; पुष्टि करें कि अधिकृत staff key प्राप्त कर सकते हैं।

अलग-थलग target पर restore करें

  • इच्छित major version और compatible roles/extensions वाला नया, खाली database बनाएँ। Matching PostgreSQL restore tool से वहीं restore करें; command को production पर कभी न चलाएँ।
  • अपेक्षित tables, महत्वपूर्ण records की row counts, constraints, application startup और read-only sample workflow जाँचें। Migration मंज़ूर करने से पहले restore duration और mismatches दर्ज करें।

उदाहरण और अपेक्षित नतीजा

  • Format के अनुसार restore tool चुनें: plain SQL के लिए psql; custom/tar archives के लिए pg_restore (pg_restore --list backup.dump से जाँचें)। Disposable isolated database में restore करें, workers और outbound integrations बंद रखें तथा केवल test secrets इस्तेमाल करें। इस अभ्यास में production का उपयोग कभी न करें।
  • Exit code, बीता समय, अपेक्षित table counts और ज्ञात aggregate checks दर्ज करें। Restore विफल हो या counts अलग हों तो रुकें; migration से पहले test host पर error, extensions और roles जाँचें। pg_dump एक database को cover करता है; global roles के लिए अलग backup चाहिए।

प्राथमिक स्रोत