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 :

PDOStatement::execute(): SQLSTATE[42501]: Insufficient privilege


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2011
    Messages : 18
    Par défaut PDOStatement::execute(): SQLSTATE[42501]: Insufficient privilege
    Bonjour, j'ai créé une table 'fonction' en tant que super utilisateur postgres....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CREATE TABLE hl.fonction (id integer PRIMARY KEY NOT NULL DEFAULT  nextval('hl.fonction_id_seq'::regclass), nom VARCHAR (100),parent_id INTEGER DEFAULT NULL CONSTRAINT fonction_fkey1 REFERENCES hl.fonction, ordre INTEGER DEFAULT 0,produit VARCHAR(100) CONSTRAINT fonction_fkey2 REFERENCES hl.produit ON UPDATE CASCADE, CONSTRAINT fonction1_check CHECK (id > parent_id));
    J'ai attribué tous les droits à l'utilisateur postgres qui est le propriétaire de toutes mes tables.
    Quand je fais un insert dans cette table j'ai un message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PDOStatement::execute(): SQLSTATE[42501]: Insufficient privilege 7 ERREUR: droit refus\xc3\xa9 pour la relation fonction\nCONTEXT:  instruction SQL \xc2\xab I    NSERT INTO hl.fonction(nom, ordre, produit) VALUES( $1 ,  $2 ,  $3 ) RETURNING id \xc2\xbb\nPL/pgSQL function "fonction_add"


    voila ma fonction add qui marche super bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    CREATE OR REPLACE FUNCTION hl.fonction_add(parent_id_   INTEGER,
                                               nom_         VARCHAR,
                                               ordre_       INTEGER,
                                               produit_     VARCHAR)
    RETURNS INTEGER AS $$
    DECLARE
      id_fonction_    hl.fonction.id%TYPE;
    BEGIN
      IF parent_id_ <= 0 THEN
        INSERT INTO hl.fonction(nom, ordre, produit)
        VALUES(nom_, ordre_, produit_)
        RETURNING id INTO id_fonction_;
        RETURN id_fonction_;
      ELSE
        INSERT INTO hl.fonction(parent_id, nom, ordre, produit)
        VALUES(parent_id_, nom_, ordre_, produit_)
        RETURNING id INTO id_fonction_;
        RETURN id_fonction_;
      END IF;
    END;
    $$ LANGUAGE 'plpgsql';
    L'un de vous a-t-il une idée?

  2. #2
    Membre Expert
    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
    Par défaut
    Apparemment la fonction est appelée par un utilisateur qui n'est pas postgres et à qui on n'a pas donné le droit d'écrire dans cette table.

  3. #3
    Membre averti
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2011
    Messages : 18
    Par défaut
    Pourtant je n'ai que 3 utilisateurs dans la base..et au 3 utilisateurs j'ai donné tous les droits sur cette table... mais rien n'y fait...

  4. #4
    Membre averti
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2011
    Messages : 18
    Par défaut
    Personne?

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Bonjour,

    Les droits sur la table ok, mais les droits sur les fonctions ?

  6. #6
    Membre averti
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2011
    Messages : 18
    Par défaut
    Merci pour votre réponse rapide...
    Pour avoir les droits sur la fonction...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    bdneo=# \z hl.fonction_add;
     
                               Droits d'accès
     Schéma | Nom | Type | Droits d'accès | Droits d'accès Ã* la colonne
    --------+-----+------+----------------+-----------------------------
    (0 ligne)
    Comment faire pour ajouter les droit sur cette fonction? J'ai essayer avec un grant all... mais impossible parceque la fonction n'est pas considérée comme une relation (table).

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/05/2013, 13h06
  2. Réponses: 6
    Dernier message: 27/10/2011, 13h27
  3. connect sys as sysdba Insufficient privilege
    Par mguinot dans le forum Oracle
    Réponses: 1
    Dernier message: 17/07/2006, 14h10
  4. ORA-01031: insufficient privileges
    Par fortlow dans le forum Oracle
    Réponses: 8
    Dernier message: 08/11/2005, 14h52
  5. ora-01031: insufficient privileges avec TOAD
    Par melitta dans le forum Toad
    Réponses: 4
    Dernier message: 03/11/2005, 12h09

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