sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur verifierar man att ett arkiv producerat av pg_dump archive är OK och giltigt?

Du verkar försöka verifiera giltigheten och riktigheten av en PostgreSQL-dump som du just har gjort.

Ditt största missförstånd är att du inte behöver återställa dumpen till samma databas som du skapade den från . Du kan återställa till en annan databas på samma kluster, eller för extra paranoia en databas på ett annat kluster (server). Kontrollera att dumpen har återställts utan fel och att data är som du förväntar dig.

För extra paranoia, stoppa PostgreSQL-servern och kopiera filerna i datakatalogen. På så sätt har du också en säkerhetskopia på filnivå. Observera att kopior på filnivå av PostgreSQL-datakataloger bara kan läsas av samma huvudversion (8.1/8.2/...) av PostgreSQL byggd med samma alternativ på samma plattform - så om datakatalogen är från 9.2.x på Windows x64 kan den bara läsas av ett annat Windows x64-värd med 9.2.x installerat.

Om du är orolig för din ursprungliga databas har du förmodligen inga säkerhetskopior. Det här är kritiskt problem. Du måste snabbt gå och läsa dokumentationskapitlet om säkerhetskopiering och återställning och få en bra automatiserad backup-schema på plats. Ta en titt på barman .

Uppdatera efter fråga redigering :

-F t är ett udda val; vanliga SQL-dumpar eller -F c brukar vara mer vettigt.

Filen du har skapat är inte en .gz (gzip-komprimerad) fil, hur som helst, det är en .tar arkiv, inte komprimerat. Det kan extraheras till en katalog full av SQL-filer.

För att testa det, använd pg_restore för att återställa den till en ny tom databas skapad med createdb eller CREATE DATABASE kommando.




  1. Vad är ett index?

  2. Hur man får alla distinkta kombinationer av 2 kolumner i MySQL

  3. hur fångar man pg_connect() funktionsfel?

  4. Logstash INPUT MySQL