113 votes

Createuser : impossible de se connecter à la base de données postgres : FATAL : le rôle "tom" n'existe pas

J'essaie de configurer Postgres pour la première fois, et je dois créer un utilisateur avec des autorisations pour lire et créer des bases de données. Cependant, lorsque j'utilise :

createuser username

dans mon terminal, j'obtiens le message suivant :

createuser : impossible de se connecter à la base de données postgres : FATAL : le rôle "tom" n'existe pas

Tom est le compte utilisateur Ubuntu auquel je suis connecté en ce moment. J'essaye de créer un nom d'utilisateur "postgres" puis de faire un psql -U psql template1 afin que je puisse créer une base de données et lui attribuer un propriétaire pour mon application Rails.

1voto

Sagar T Points 33

J'ai eu le même problème, je fais juste ça

sudo su - postgres

createuser odoo -U postgres -dRSP #P pour le mot de passe ( odoo o nom d'utilisateur que vous voulez donner l'accès à postgres)

1voto

ajostergaard Points 471

Sous Windows, utilisez :

C:\PostgreSQL\pg10\bin>createuser -U postgres --pwprompt <USER>

Ajouter --superuser o --createdb le cas échéant.

Ver https://www.postgresql.org/docs/current/static/app-createuser.html pour d'autres options.

1voto

Weapon X Points 69

Si vous ne voulez pas changer la méthode d'authentification (ident) et vous embrouiller avec les éléments suivants pg_hba.conf utilisez ça :

Première connexion en tant qu'utilisateur par défaut

 sudo su - postgres

Ensuite, accédez à psql et créez un utilisateur avec le même nom que celui dans lequel vous vous connectez.

postgres=# CREATE USER userOS WITH PASSWORD 'garbage' CREATEDB;

vous pouvez vérifier votre utilisateur avec les rôles correspondants avec

postgres=#  \du

Après cela, vous pouvez créer votre base de données et la vérifier avec

psql -d dbName
\l
\q

0voto

Josh Points 2733

Il essaie d'accéder à la base de données en tant qu'utilisateur "tom".

changez le nom d'utilisateur dans votre fichier config/database.yml :

development:
  username: postgres

Vous devrez redémarrer votre serveur.

-3voto

Jean-Marie Points 64

Vous devez d'abord exécuter initdb. Il créera le cluster de base de données et la configuration initiale.

Ver Comment configurer postgresql pour la première fois ? y http://www.postgresql.org/docs/8.4/static/app-initdb.html

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