Siehe git gist mit Anweisungen hier
Führen Sie Folgendes aus:
sudo -u postgres psql
ODER
psql -U postgres
in Ihrem Terminal, um in Postgres zu gelangen
NB: Wenn Sie auf einem Mac arbeiten und beide oben genannten Befehle fehlgeschlagen sind, springen Sie zum Abschnitt über Mac unten
postgres=#
Lauf
CREATE USER new_username;
Hinweis: Ersetzen Sie new_username durch den Benutzer, den Sie erstellen möchten. In Ihrem Fall ist dies tom.
postgres=# CREATE USER new_username;
CREATE ROLE
Da dieser Benutzer eine Datenbank erstellen kann, müssen Sie die Rolle in Superuser ändern
postgres=# ALTER USER new_username SUPERUSER CREATEDB;
ALTER ROLE
Zur Bestätigung war alles erfolgreich,
postgres=# \du
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=#
Update / Änderung (für Mac):
Ich habe kürzlich einen ähnlichen Fehler auf meinem Mac festgestellt:
psql: FATAL: role "postgres" does not exist
Dies lag daran, dass meine Installation mit einem Datenbank-Superuser eingerichtet wurde, dessen Rollenname mit Ihrem Anmeldenamen (Kurzname) übereinstimmt.
Einige Linux-Skripte gehen jedoch davon aus, dass der Superuser den traditionellen Rollennamen hat postgres
Wie habe ich das gelöst?
Wenn Sie mit homebrew
run installiert haben :
/usr/local/opt/postgres/bin/createuser -s postgres
Wenn Sie eine bestimmte Version von Postgres verwenden, führen Sie Folgendes 10.5
aus:
/usr/local/Cellar/postgresql/10.5/bin/createuser -s postgres
ODER:
/usr/local/Cellar/postgresql/10.5/bin/createuser -s new_username
ODER:
/usr/local/opt/postgresql@11/bin/createuser -s postgres
Wenn Sie mit postgres.app
für Mac installiert haben, führen Sie Folgendes aus:
/Applications/Postgres.app/Contents/Versions/10.5/bin/createuser -s postgres
PS: Ersetzen Sie 10.5 durch Ihre PostgreSQL-Version