Vous n'êtes pas identifié(e).

#1 21/09/2012 15:01:34

Clément V.
Membre

Soucis avec pg_dump & pg_restore

Bonjour à tous,

J'utilisais avant l'outil pg_dump et psql pour sauvegarder et restaurer mes données, mais il m'a fallu utiliser l'option -b (blobs - objets larges) pour effectuer une sauvegarde.

Je suis donc obligé d'utiliser l'option de compression -Fc (pas de tar disponible) qui est la compression personnalisée de postgreSQL, et donc d'utiliser l'outil pg_restore pour restaurer un dump compressé.

Seulement j'ai des soucis avec pg_restore, ou pg_dump, ou les deux.

Premièrement lorsque je lance mon dump à l'aide de la commande :

pg_dump -U postgres -p 5432 -b -o -Fc "Database" > "Répertoire"

Je reçois plusieurs erreurs (qui n'annulent pas le dump) :
"pg_dump: [programme d'archivage personnalisé] ATTENTION : ftell ne correspond pas à la position".

Déjà je ne sais pas d'où viens cette erreur (les blobs ou les OIDs?).

Ensuite, du côté de pg_restore, je lance la commande :

pg_restore -U postgres -p 5432 -C -Fc < "Répertoire"

Et je reçois l'erreur : "pg_restore: [programme d'archivage personnalisé] fin de fichier inattendu".

Je tiens à préciser que "Répertoire" est à chaque fois une named pipe Windows, mais qu'elle fonctionne très bien car les mêmes commandes sans utiliser de format compressé (donc psql à la place de pg_restore) fonctionnent parfaitement.

Je n'ai rien trouvé sur le net mais... pg_restore gère-t-il aussi les canaux nommés?

Merci d'avance,
Clément.

Dernière modification par Clément V. (21/09/2012 15:03:09)

Hors ligne

#2 21/09/2012 15:18:26

gleu
Administrateur

Re : Soucis avec pg_dump & pg_restore

À ma connaissance, vous ne pouvez pas envoyer vers un pipe nommé en utilisant le mode compressé.


Guillaume.

Hors ligne

#3 21/09/2012 15:19:05

Clément V.
Membre

Re : Soucis avec pg_dump & pg_restore

Hum d'accord... Sa risque de me poser problème.

Merci pour la réponse rapide. smile

Hors ligne

#4 21/09/2012 15:23:58

Clément V.
Membre

Re : Soucis avec pg_dump & pg_restore

Par contre, j'ai bien l'impression que le pg_dump compressé (-Fc) passe bien par la pipe, car je reçois à la fin un fichier pesant + ou - le même poids que si je lançais le dump sans passer par une pipe. Et de plus je ne trouve pas de différence dans le fichier (qui est un peu long et illisible, certes, mais sa y ressemble beaucoup).

J'ai l'impression que le problème viens plus de pg_restore.

Hors ligne

#5 25/09/2012 12:09:57

Clément V.
Membre

Re : Soucis avec pg_dump & pg_restore

J'ai résolu mon problème, il n'était pas lié à PostgreSQL.

Et pour information, si, il est bien possible d'envoyer un dump compressé à l'aide de -Fc sur un pipe nommé (pour Windows en tout cas, je n'ai pas encore vu les autres cas).

Hors ligne

Pied de page des forums