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.