PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment vérifier qu'une archive produite par pg_dump archive est OK et valide ?

Vous semblez essayer de vérifier la validité et l'exactitude d'un vidage PostgreSQL que vous venez de créer.

Votre principal malentendu est que vous n'êtes pas obligé de restaurer le vidage dans la même base de données à partir de laquelle vous l'avez créé . Vous pouvez restaurer vers une autre base de données sur le même cluster, ou pour plus de paranoïa une base de données sur un autre cluster (serveur). Vérifiez que le vidage a été restauré sans erreur et que les données sont conformes à vos attentes.

Pour plus de paranoïa, arrêtez le serveur PostgreSQL et copiez les fichiers dans le répertoire de données. De cette façon, vous disposez également d'une sauvegarde au niveau des fichiers. Notez que les copies au niveau fichier des répertoires de données PostgreSQL peuvent seulement être lu par la même version majeure (8.1/8.2/...) de PostgreSQL construit avec la même option sur la même plate-forme - donc, si le datadir est de 9.2.x sur Windows x64, il ne peut être lu que par un autre Windows Hôte x64 avec 9.2.x installé.

Si vous vous inquiétez pour votre base de données d'origine, vous n'avez probablement pas de sauvegardes. Ceci est un critique problème. Vous devez aller lire de toute urgence le chapitre de la documentation sur la sauvegarde et la restauration et obtenez un bon automatisme schéma de sauvegarde en place. Jetez un oeil à barman .

Mettre à jour après la modification de la question :

-F t est un choix étrange ; vidages SQL simples ou -F c a généralement plus de sens.

Le fichier que vous avez produit n'est pas un .gz (compressé gzip), de toute façon, c'est un .tar archive, non compressée. Il peut être extrait dans un répertoire rempli de fichiers SQL.

Pour le tester, utilisez pg_restore pour le restaurer dans une nouvelle base de données vide créée avec createdb ou le CREATE DATABASE commande.