IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Soucis avec pg_dump & pg_restore


Sujet :

PostgreSQL

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Points : 89
    Points
    89
    Par défaut 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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Il serait bon de préciser quelle est la version de PostgreSQL utilisée.

    Mais même pour des versions obsolètes comme la 8.2, la doc disait déjà:

    -b, --blobs
    Inclut les objets larges dans la sauvegarde. C'est le comportement par défaut sauf si vous ajoutez une des options suivantes : --schema, --table ou --schema-only. Donc cette option -b est seulement utile pour ajouter les objets larges dans le cas des sauvegardes sélectives.
    Donc dans le cas cité, l'option -b est inutile, autant l'enlever.

    Pour ce qui est de -Fc vu les messages d'erreur relatifs à ftell il est vraisemblable que cette option n'est pas compatible avec les "names pipe" Windows donc il faudrait soit sauver avec -Fc dans un vrai fichier, soit utiliser le format par défaut non compressé.

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Points : 89
    Points
    89
    Par défaut
    Bonjour et merci pour la réponse.

    J'ai avancé dans mon problème et j'ai réussi a partiellement le résoudre.

    Tout d'abord l'option -b est bien nécessaire dans mon dump car je dois sauvegarder des objets larges présents dans certaines tables. L'option -Fc est donc obligatoire et permet bien de passer par les canaux nommés.

    pg_restore permet aussi de restaurer une base de données via des canaux nommés, l'erreur qu'il me renvoyer dépendait d'autre chose (mauvaise gestion des canaux de mon côté).

    Le seul soucis c'est qu'il me reste certains messages lors d'un dump (les ftell), mais sa n'empêche en rien que le dump soit fonctionnel et la restauration se passe sans problèmes.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Question résolue, c'est un point de vue, parce que des backups avec un gros message d'erreur inexpliqué en plein milieu, en environnement professionnel, ce n'est pas acceptable.

    Et puis l'insistance sur ces options revient à ignorer ce syllogisme tout bête:

    - prémisse 1: -b n'est utile que pour une sauvegarde sélective, c'est la doc qui le dit.

    - prémisse 2: la commande de sauvegarde montrée n'est pas sélective parce qu'elle n'utilise pas l'option -t

    - conclusion: l'option -b n'est pas utile.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. quelques soucis avec word 2000
    Par ramchou dans le forum Word
    Réponses: 3
    Dernier message: 06/09/2004, 18h13
  2. SOucis avec une reequete imbriquee
    Par Ni4k dans le forum Langage SQL
    Réponses: 6
    Dernier message: 30/03/2004, 08h56
  3. souci avec un algorithme
    Par slider16 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 22/03/2004, 17h17
  4. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52
  5. Réponses: 4
    Dernier message: 16/02/2003, 12h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo