Je veux créer un utilisateur qui n'a accès qu'à une base de données spécifiée. Cependant, il devrait avoir toutes les autorisations. J'utilise Postgresql 9.5 sur Ubuntu 14.04. Alors tout d'abord, je crée un nouvel utilisateur:
$createuser --interactive joe
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
Ensuite, je crée une nouvelle base de données avec le propriétaire joe:
$sudo -u postgres psql
$CREATE DATABASE myDB OWNER joe;
$GRANT ALL ON DATABASE myDB TO joe;
Après cela, j'essaie de me connecter avec l'utilisateur joe pour me connecter sur ma base de données myDB:
$psql myDB -U joe
psql: FATAL: Peer authentication failed for user "joe"
Que dois-je faire ensuite?
postgresql
privileges
Qeychon
la source
la source
Réponses:
Ouvrir
/etc/postgresql/9.5/main/pg_hba.conf
avec un accès rootPassez
peer
àmd5
dans ces lignes.Avant de changer
Après votre changement
Enregistrez le fichier en appuyant sur Ctrl- O. Quittez nano avec Ctrl-X
Redémarrez postgresql en utilisant
la source
sudo -u postgres psql -c "SHOW config_file"
host all all 127.0.0.1/32 ident
,host all all ::1/128 ident