sql >> Databáze >  >> RDS >> PostgreSQL

Jak ověřit, že archiv vytvořený archivem pg_dump je v pořádku a platný?

Zdá se, že se pokoušíte ověřit platnost a správnost výpisu PostgreSQL, který jste právě vytvořili.

Vaším hlavním nedorozuměním je, že nemusíte obnovovat výpis do stejné databáze, ze které jste jej vytvořili . Můžete obnovit do jiné databáze na stejném clusteru nebo pro extra paranoiu do databáze na jiném clusteru (serveru). Ověřte, že výpis byl obnoven bez chyby a že data jsou taková, jaká očekáváte.

Pro extra paranoiu zastavte PostgreSQL server a zkopírujte soubory v datovém adresáři. Tímto způsobem budete mít také zálohu na úrovni souborů. Všimněte si, že kopie datových adresářů PostgreSQL na úrovni souborů mohou pouze být čten stejnou hlavní (8.1/8.2/...) verzí PostgreSQL postavenou se stejnou možností na stejné platformě - takže pokud je datadir z 9.2.x na Windows x64, může jej číst pouze jiný Windows x64 hostitel s nainstalovaným 9.2.x.

Pokud se bojíte o svou původní databázi, pravděpodobně nemáte zálohy. Toto je kritické problém. Musíte jít a naléhavě si přečíst kapitolu dokumentace o zálohování a obnově a získejte dobrý automat schéma zálohování na místě. Podívejte se na barman .

Aktualizovat po úpravě otázky :

-F t je lichá volba; prosté výpisy SQL nebo -F c obvykle dává větší smysl.

Soubor, který jste vytvořili, není .gz (komprimovaný gzip), každopádně je to .tar archiv, nekomprimovaný. Může být extrahován do adresáře plného SQL souborů.

Chcete-li to otestovat, použijte pg_restore pro obnovení do nové prázdné databáze vytvořené pomocí createdb nebo CREATE DATABASE příkaz.




  1. Jak převést řetězec na číselnou hodnotu v PostgreSQL

  2. hledejte více klíčových slov pomocí php a mysql (kde se líbí X)

  3. Chyba Laravel classloader.php se nepodařilo otevřít stream:Žádný takový soubor nebo adresář

  4. Funkce řetězce SQL Server (úplný seznam)