Voir git gist avec des instructions ici
Lance ça:
sudo -u postgres psql
OU
psql -U postgres
dans votre terminal pour entrer dans postgres
NB: Si vous êtes sur un Mac et que les deux commandes ci-dessus ont échoué, passez à la section sur Mac ci-dessous
postgres=
Courir
CREATE USER new_username;
Remarque: remplacez new_username par l'utilisateur que vous souhaitez créer, dans votre cas, ce sera tom.
postgres=
CREATE ROLE
Puisque vous souhaitez que cet utilisateur puisse créer une base de données, vous devez modifier le rôle en superutilisateur
postgres=
ALTER ROLE
Pour confirmer, tout a réussi,
postgres=
List of roles
Role name | Attributes | Member of
new_username | Superuser, Create DB | {}
postgres | Superuser, Create role, Create DB, Replication | {}
root | Superuser, Create role, Create DB | {}
postgres=
Mise à jour / modification (pour Mac):
J'ai récemment rencontré une erreur similaire sur mon Mac:
psql: FATAL: role "postgres" does not exist
En effet, mon installation a été configurée avec un superutilisateur de base de données dont le nom de rôle est le même que votre nom de connexion (court).
Mais certains scripts Linux supposent que le super-utilisateur a le nom de rôle traditionnel de postgres
Comment ai-je résolu ce problème?
Si vous avez installé avec homebrew
run:
/usr/local/opt/postgres/bin/createuser -s postgres
Si vous utilisez une version spécifique de postgres, dites 10.5
alors exécutez:
/usr/local/Cellar/postgresql/10.5/bin/createuser -s postgres
OU:
/usr/local/Cellar/postgresql/10.5/bin/createuser -s new_username
OU:
/usr/local/opt/postgresql@11/bin/createuser -s postgres
Si vous avez installé avec postgres.app
pour Mac, exécutez:
/Applications/Postgres.app/Contents/Versions/10.5/bin/createuser -s postgres
PS: remplacez 10.5 par votre version PostgreSQL