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 :

Importation Erreur fantôme


Sujet :

PostgreSQL

  1. #1
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut Importation Erreur fantôme
    Bonjour,

    J'ai développé une application en local en utilisant PostGres ...

    Viens maintenant le jour de passer en phase de test sur le serveur de la société sur lequel je peux déposer mes fichiers de l'application et ai aussi accés à phpPgAdmin pour utiliser la base Postgres sur ce serveur.

    Comme j'ai pas accés aux fonctions Pg_dump, Pg_restore sur le serveur, je procéde pour la migration de base locale sur le serveur de la mnière suivante:

    1) Utilisation de pg_dump en format -F p pour obtenir un script SQL: save001.sql
    2) Dépot de ce fichier dans mon répertoire sur le serveur (dont j'ai les droits)
    3) Lancement de phpPgAdmin sur le serveur, je vais sur ma base et j'utilise l'icone SQL pour importer le scipt SQL

    Resultat une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Erreur SQL :
     
     
    ERREUR:  erreur de syntaxe sur ou près de « ) » at character 32
     
    In statement:
    SELECT COUNT(*) AS total FROM () AS sub
    OR cette ligne SQL n'existe pas dans le fichier save001.sql

    Merci à tous

  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
    Est-ce que la case à cocher "Paginate Results" ou l'équivalent en français est bien décochée? Sinon essayer en la décochant.

  3. #3
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Merci,

    Effectivement, il y a cette case à cocher, j'essayerais dès Lundi pour voir.

    Comme c la première fois que j'utilise Postgres pour une application web, je nage un peu dans l'inconnu
    Mais phase de test oblige sur le serveur en plus avec une partie Posgis, je sent que je vais avoir quelques questions

    Merci encore bon w.e

  4. #4
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Sans cocher la case, j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SET
    save0001.sql:6:
    save0001.sql étant mon fichier mais mes tables ne sont pas inséré dans la base !

  5. #5
    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
    C'est la même version de PG qui a produit le dump par rapport à celle qui l'importe?
    Peut-être qu'il y a une commande qui est valable dans la source et pas dans la destination.
    le :6 doit désigner j'imagine la ligne à laquelle approximative à laquelle l'erreur est survenue, il faudrait voir dans le fichier de quelles commandes il s'agit.

  6. #6
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Merci de me répondre

    Pour les versions: Postgres 8.3.7 à 8.1.18 pour la version de mon poste en local, j'ai le choix mais du côté du serveur non donc 8.1.18 chez eux

    Effectivement :6 c approximativement à la ligne 6:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SET standard_conforming_strings = off;
    J'ai mis en remarque, le script commence à passe sauf sur les owner

    En local, j'ai une base de nom X, user Y, pwd Z
    Serveur, j'ai la base de nom X, user A, pwd B
    Là ça marche plus !

    Comment je fais (je pensais que public suffisait ...) je dois changer user Y, pwd Z en user, pwd du serveur ?

  7. #7
    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 faudrait plutôt utiliser la même version de PG en dev et en prod, et aussi les mêmes noms d'utilisateur. Pour le mot de passe, il peut être différent d'un environnement à l'autre, ça ne va pas gêner le transport de la BDD par fichier dump.

  8. #8
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Il faudrait plutôt utiliser la même version de PG en dev et en prod
    Oui celà me parait assez clair mais il va fallloir que je bouge les administrateurs du site ()
    De plus, je peux utiliser pg_dump mais uniquement en script sql parceque je n'ai pas la possibilité d'utiliser pg_restore dans l'autre sens !!!!
    D'un autre côté je suis obliger d'utiliser cette version car je fais du SIG

    J'essaye actuellement de changer le nom du propriétaire pour avoir le même que celui du serveur MAIS je sais pas comment faire ?
    (j'essaye en ce moment par pg_dump en bak puis pg_restore en ayany crée le nom de propriétaire identique à celui du serveur)

  9. #9
    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
    (j'essaye en ce moment par pg_dump en bak puis pg_restore en ayany crée le nom de propriétaire identique à celui du serveur)
    Ca devrait marcher, et éventuellement utiliser l'option -O de pg_dump pour supprimer les ordres d'affectation des objets à l'utilisateur de départ.

  10. #10
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Bon, j'avance un peu dans mon dump et ma création de la base sur le Postgres du serveur de production.

    Sur mon poste en local et Postgres 8.3.7, je fais mon dump en un script sql puis une lecture du fichier pour créer une nouvelle base de données, c OK.
    Sur le serveur de prod et Postgres 8.1.18, la lecture du même fichier me donne dès la première table une erreur sur 'CACHE 1':
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CREATE SEQUENCE ta_animal_id_animal_seq
        INCREMENT BY 1
        NO MAXVALUE
        NO MINVALUE
        CACHE 1;
    Pourquoi ?
    (Je me demande si je vais pas en avoir beaucoup de ce genre )
    Merci.

  11. #11
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Maintenant j'ai cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ERREUR:  erreur de syntaxe sur ou près de « OWNED » at character 40
     
    In statement:
    ALTER SEQUENCE ta_animal_id_animal_seq OWNED BY ta_animal.id_animal;

  12. #12
    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
    Le pg_dump 8.3 sort des commandes qui n'existaient pas encore en 8.1, c'est logique. Ce sens là (descente de version) n'est pas supporté à ma connaissance.

  13. #13
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Merci de ta réponse et tu connais un lien qui me permetterais de savoir les différences entre 8.3 et 8.1 pour mes problèmes.

    Il faut que je développe un dossier pour mes chers administrateurs pour modifier la version de Postgres sur le serveur.

  14. #14
    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
    C'est dans les chapitres "release notes" de la doc que sont détaillées les nouvelles fonctionnalités d'une version majeure à l'autre.
    Si ton serveur cible est bloqué en 8.1, pourquoi ne pas utiliser la 8.1 en local pour développer?

  15. #15
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Merci de la réponse, c la dessus que j'avais débouché aussi

    Si ton serveur cible est bloqué en 8.1, pourquoi ne pas utiliser la 8.1 en local pour développer?
    C parceque, j'utilise du SIG et des fonctions de transfert (comme shp2pgsql) (j'ai pu vraiment mes notes là dessus mais en conclusion si j'avais installer la 8.3.7 ce devait être la mieux ).

    A moi de voir avec tout ça

    merci encore

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

Discussions similaires

  1. L'erreur fantôme
    Par Raadgever596 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/10/2009, 15h43
  2. [BO XI R2] Assistant d'importation : erreur
    Par anahada dans le forum Administration-Migration
    Réponses: 7
    Dernier message: 10/02/2009, 15h34
  3. Import: Erreur objet existe déjà
    Par safisafi dans le forum Import/Export
    Réponses: 4
    Dernier message: 25/11/2008, 19h03
  4. [INSERT] Erreur fantôme ?
    Par Jiraiya42 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/05/2007, 16h47
  5. [IMPORT]Erreur IMP-00009
    Par syl2095 dans le forum Oracle
    Réponses: 8
    Dernier message: 20/12/2005, 10h40

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