68 votes

définir un mot de passe vide pour l'utilisateur PostgreSQL

J'utilise la commande postgresql 'createuser myusername'. Il me demande toujours de mot de passe. Si je laisse le mot de passe vide, cela signifie qu’aucun mot de passe n’est spécifié.

Je veux simplement créer un utilisateur avec un mot de passe vide / non et je ne peux pas le faire avec Postgresql 9 sous mac os x.

Quelles étapes dois-je suivre pour créer un utilisateur sans mot de passe? La commande me demande toujours d'entrer un mot de passe.

72voto

nate c Points 3909

Vous êtes aboiements le mauvais arbre à essayer de corriger cela avec createuser. Si vous prenez soin de vérifier l' man page createuser il vous dira que la connexion échouera si vous avez vraiment besoin d'un mot de passe et définir l'option --no-mot de passe. createuser fait juste crée un utilisateur. Il n'a pas à décider de la façon dont l'utilisateur devra s'authentifier.

L'authentification est gérée principalement en pg_hba.conf, qui décide d'accorder ou de ne pas exiger des mots de passe lors de la connexion. Je n'ai jamais couru de PostgreSQL sur OS X. sous Linux, ma distro stock conf ressemble à ceci:

# TYPE  DATABASE        USER            CIDR-ADDRESS            METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     ident
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

Je voudrais assurez-vous d'avoir quelque chose comme la première ligne pour le développement de l'accès. Remarque: psql va essayer de se connecter avec un socket unix si il n'y a pas d' --host option. La deuxième ligne sera utilisée que si vous essayez de vous connecter avec psql --host localhost

39voto

araqnid Points 33350

Plutôt que de créer un utilisateur sans mot de passe, créez un fichier .pgpass avec le mot de passe afin de le fournir automatiquement. Ceci sera respecté par toutes les applications utilisant libpq pour se connecter, ce qui est pratiquement la totalité d’entre elles à l’exception du pilote JDBC et du pilote .NET.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X