Vous n'êtes pas identifié(e).
bonjour,
je n'arrive pas a creer une table dans mon schema pourtant je mets tous les droits avec grant all privileges
CREATE SCHEMA W_user;
ALTER SCHEMA W_user OWNER TO user;
GRANT ALL PRIVILEGES ON SCHEMA W_user TO user WITH GRANT OPTION ;
merci pour votre aide
Michel
Hors ligne
1/ Le terme "user" est un nom réservé du langage SQL. Utilisez un autre nom pour désigner votre utilisateur.
2/ Ne mettez pas de majuscules dans les noms d'objet
L'exemple ci-dessous fonctionne :
CREATE ROLE plop;
CREATE SCHEMA wiz;
ALTER SCHEMA wiz OWNER TO plop;
SET ROLE plop;
SHOW ROLE;
CREATE TABLE wiz.boum(id SERIAL);
damien clochard
http://dalibo.org | http://dalibo.com
Hors ligne
voici mon script integral
-- creation role groupe
CREATE ROLE niv1_eco
NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;
-- -- creation role de connection
CREATE ROLE user1 WITH LOGIN PASSWORD ' 1234'
GRANT niv1_eco to user1
ALTER ROLE user1 SET ROLE= ' niv1_eco'
CREATE SCHEMA w_user1
ALTER SCHEMA w_user1 OWNER TO user1
GRANT ALL PRIVILEGES ON SCHEMA w_user1 TO user1 WITH GRANT OPTION
quand je fais la connection postgres avec user1 et mot de passe 1234
et que je vais dans w_user1 je ne peux pas creer une table
merci
Hors ligne
Il y a plein d'erreurs de syntaxe, entre autres il n'y a pas de ; dans ce script. Ni d'espace au début du rôle niv1_eco…
Testez le avant de le poster, ça nous évitera d'avoir à le débugger pour vous.
Marc.
Hors ligne
en m'excusant voila
-- role de groupe
CREATE ROLE niv1_eco NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;
-- role de connection
CREATE ROLE user33 WITH LOGIN PASSWORD '1234';
GRANT niv1_eco to user33;
ALTER ROLE user33 SET ROLE= 'niv1_eco' ;
CREATE SCHEMA w_user33 ;
ALTER SCHEMA w_user33 OWNER TO user33;
GRANT ALL PRIVILEGES ON SCHEMA w_user33 TO user33 WITH GRANT OPTION;
Hors ligne
Quel est le but du "ALTER ROLE user33 SET ROLE..." ?
En tout cas, sans lui, ça fonctionne.
Guillaume.
Hors ligne