+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Candidat au titre de Membre du Club
    Inscrit en
    mai 2011
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : mai 2011
    Messages : 13
    Points : 11
    Points
    11

    Par défaut Déplacer (grosse) table entre deux serveurs versions différentes

    Bonjour,

    J'ai actuellement une grosse table (36M de lignes, 91 colonnes) sur un poste de développement en win7/pg8.3
    je dois la déplacer sur un serveur debian/pg8.4

    Après quelques recherches j'ai cru comprendre qu'il n'y avait pas de méthode directe pour bouger une table entre deux database pg.
    J'ai essayé de générer un backup puis de le restaurer, mais fonctionne pas a priori à cause des versions différentes.

    J'ai essayé des solutions bricolées (Talend Etl) mais la taille de la base pose problème.

    Je pense essayer d'utiliser Slony mais après une rapide recherche sur le site Slony windows n'a l'air de gérer qu'à partir de la version 8.4.

    Quelqu'un aurait-il une idée sur la question ou des conseils?

  2. #2
    Expert Confirmé
    Profil pro
    Inscrit en
    octobre 2008
    Messages
    1 832
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : octobre 2008
    Messages : 1 832
    Points : 2 768
    Points
    2 768

    Par défaut

    Il faut utiliser pg_dump sur la base source et restaurer le fichier résultant avec pg_restore/psql sur la base destination.
    C'est la méthode la plus couramment utilisée.

  3. #3
    Candidat au titre de Membre du Club
    Inscrit en
    mai 2011
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : mai 2011
    Messages : 13
    Points : 11
    Points
    11

    Par défaut

    Bonjour,
    j'ai essayé mais ça ne fonctionne pas (erreur:"pg_restore: [archiveur] version non supportée (1.12) dans le fichier d'en-tête")
    Je ne sais pas si c'est un problème de version de pg ou un bug lié à la taille de la table.
    Le fichier déployé (taille du repertoire pg) est de l'ordre de 30Go. Le backup généré est d'environ 10Go.

  4. #4
    Expert Confirmé
    Profil pro
    Inscrit en
    octobre 2008
    Messages
    1 832
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : octobre 2008
    Messages : 1 832
    Points : 2 768
    Points
    2 768

    Par défaut

    Citation Envoyé par FMIMF Voir le message
    j'ai essayé mais ça ne fonctionne pas (erreur:"pg_restore: [archiveur] version non supportée (1.12) dans le fichier d'en-tête")
    Cette erreur implique en principe que le pg_dump ayant fait le backup est plus récent que le pg_restore. Ca serait logique si tu faisais une descente de version mais si c'est l'inverse (8.3->8.4), ça ne devrait pas arriver.

    Les solutions
    - faire le backup avec le pg_dump de la 8.3 et la restauration avec pg_restore de la 8.4
    - faire le backup avec le pg_dump de la 8.4 et la restauration avec pg_restore de la 8.4
    - faire le backup en fichier SQL (pg_dump sans l'option -Fc) et dans ce cas pg_restore n'est pas nécessaire, le fichier produit peut être directement fourni à psql sur la base cible.

    EDIT: numéros de versions

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •