PDOStatement::execute(): SQLSTATE[42501]: Insufficient privilege
Bonjour, j'ai créé une table 'fonction' en tant que super utilisateur postgres....
Code:
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:
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:
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?