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

Administration PostgreSQL Discussion :

[PostgreSQL 7.4] Permission denied sur une foreign key


Sujet :

Administration PostgreSQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 15
    Points : 7
    Points
    7
    Par défaut [PostgreSQL 7.4] Permission denied sur une foreign key
    Bonjour à tous,

    J'espère ne pas poser une question déjà traitée. J'ai cherché sans succès sur le forum.

    Voilà j'ai réalisé un dump de ma base de données avec la commande suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pg_dump --verbose --disable-triggers --file=/data/pgq/dumps/ma_bdd.dump MA_BDD -W
    Puis je l'ai remonté en passant les commandes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    createdb -D PGDATA -E LATIN9 -U postgres -e MA_BDD2 --template=template0 -W
    psql -f /data/pgq/dumps/ma_bdd.dump MA_BDD2 -W
    Mais problème, le dump crée correctement certaines clés étrangères et d'autres pas. Je précise que j'ai les mêmes droits sur toutes les tables.

    Voici l'erreur que j'ai sur ma clé étrangère lors de la remontée du dump.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ERROR:  permission denied for relation t_etat
    Je ne sais pas si vous avez toutes les infos pour me répondre. Si c'est le cas n'hésitez pas à me demander.

    Je ne comprends pas bien le problème.

    Merci d'avance pour votre aide.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Personne n'aurait une petite idée du problème ?

    Merci à tous,

  3. #3
    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
    Les questions de base pour une erreur permission denied seraient quelle est la requête SQL qui provoque l'erreur, a qui appartient l'objet t_etat et quel est l'utilisateur connecté au moment de l'exécution et quels sont ses droits supposés sur cet objet.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Très bien je vais tâcher de répondre à toutes ces questions.

    Pour commencer tout se passe lors de la remontée d'un dump en mode console sous linux.

    Quelle est la requête SQL qui provoque l'erreur ?

    Je ne vois pas directement la requête lors de la remontée du dump mais en comparant le schéma de la base source et de la base remontée, je vois qu'il manque la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ALTER TABLE ONLY t_demande_designation
        ADD CONSTRAINT dd_desi_etat_fk FOREIGN KEY (desi_etat_ref)
    REFERENCES t_etat(id_etat);
    A qui appartient l'objet t_etat ?
    Cette objet appartient à l'utilisateur "userapp".

    Quel est l'utilisateur connecté au moment de l'exécution ?
    L'utilisateur connecté est "postgres" à la remontée du dump.

    Quels sont ses droits supposés sur cet objet ?
    Voici les droits de la table t_etat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ALTER TABLE t_etat OWNER TO userapp;
    GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE t_etat TO userapp WITH GRANT OPTION;
    GRANT ALL ON TABLE t_etat TO postgres WITH GRANT OPTION;
    Bon je pense que mes histoires de droits ne sont pas très propres mais je ne m'y connais que très peu en admin base de données.

    Cependant ce que je ne comprends pas c'est que j'ai d'autres foreign key qui se remontent correctement.

    Je tiens à signaler que toute mes tables possèdent le même propriétaire (userapp) et ont les mêmes droits que l'objet "t_etat".

    De plus, lorsque que j'exécute la requête citée plus haut avec l'utilisateur "postgres" sur la base fraichement remontée, aucune erreur ne m'est signalée et la clé étrangère est correctement créée...

    J'espère t'avoir apporté assez d'éléments. Sinon n'hésite pas à me redemander.

  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
    Etrange. Quelle est la version mineure de postgresql? (faire select version() sous psql)
    Il serait peut-être utile de poster le dump de la base en pièce jointe (fait avec l'option
    -s, sans les données) pour voir si le problème est reproductible ailleurs.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Voici le numéro de version : PostgreSQL 7.4.13 on i386-redhat-linux-gnu, compiled by GCC i386-redhat-linux-gcc (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2)

    Je met la totale

    Bon par contre pour le schéma de la base ce ne sera pas possible puisque c'est un projet professionnel.

    Oui désolé...

    Merci de ton aide en tout cas.

Discussions similaires

  1. Tomcat5.5 : permission denied sur admin.xml
    Par poumpoumpaf dans le forum Réseau
    Réponses: 8
    Dernier message: 31/07/2009, 15h57
  2. Réponses: 1
    Dernier message: 09/06/2009, 12h43
  3. "Permission denied" sur certains dossiers
    Par mikool19 dans le forum Apache
    Réponses: 3
    Dernier message: 31/10/2006, 13h57
  4. [Système] fopen()Permission denied sur Apache
    Par manaboko dans le forum Langage
    Réponses: 9
    Dernier message: 15/09/2005, 17h08
  5. [débutant] Aide pour mettre une FOREIGN KEY sur une table
    Par cauldron dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/11/2004, 17h16

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