Bonjour à tous.
Jusqu’à aujourd’hui, j’ai toujours utilisé MySQL et MariaDB. Mais pour élargir mes compétences (et par curiosité), je suis en train de me mettre à PostgreSQL.
J’essaie de créer un user pour une BDD.
J’ai créé l’user :
createuser --interactive
Et vu que je veux qu’il ai des privélèges que sur une seule BDD, j’ai répondu non à tout ceci :
// Shall the new role be a superuser? (y/n) n
// Shall the new role be allowed to create databases? (y/n) n
// Shall the new role be allowed to create more new roles? (y/n) n
J’ai aussi créée une BDD :
createdb bdd_de_test
Donc à cette étape, j’ai ma BDD de créée, et mon user de créé (qui à ce moment n’a aucun privélège, ce qui est normal).
Ensuite je veux que mon user ai des privélège sur cette BDD que je viens de créer. J’ai donc essayer de faire ceci (en psql) :
GRANT ALL PRIVILEGES ON DATABASE "bdd_de_test" to user_de_test;
Et ça n’a pas marché.
En faisant des recherches dans Google, j’ai vu que plusieurs disent que ça ne suffit pas, et de faire aussi ceci :
REVOKE CONNECT ON DATABASE bdd_de_test FROM PUBLIC;
GRANT CONNECT ON DATABASE bdd_de_test TO user_de_test;
GRANT USAGE ON SCHEMA public TO user_de_test;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO user_de_test;
GRANT ALL PRIVILEGES ON DATABASE "bdd_de_test" to user_de_test;
Mais ça n’a pas marché non plus.
Une idée SVP ?
Merci d’avance.
Edit :
ça me retourbe cette erreur :
SQLSTATE[42501]: Insufficient privilege: 7 ERROR: permission denied for table parameters
(avec mon projet Laravel, j’essaie de faire une req SQL SELECT sur ma table "parameters")