Zobacz git z instrukcjami tutaj
Uruchomić to:
sudo -u postgres psql
LUB
psql -U postgres
w terminalu, aby dostać się do postgres
NB: Jeśli używasz komputera Mac i oba powyższe polecenia nie powiodły się, przejdź do sekcji dotyczącej komputera Mac poniżej
postgres=
Biegać
CREATE USER new_username;
Uwaga: Zastąp nowa_nazwa_użytkownika nazwą użytkownika, którego chcesz utworzyć, w twoim przypadku będzie to tom.
postgres=
CREATE ROLE
Ponieważ chcesz, aby ten użytkownik mógł tworzyć bazę danych, musisz zmienić rolę na superużytkownika
postgres=
ALTER ROLE
Aby potwierdzić, wszystko się udało,
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=
Aktualizacja / modyfikacja (dla komputerów Mac):
Niedawno napotkałem podobny błąd na moim Macu:
psql: FATAL: role "postgres" does not exist
Wynika to z faktu, że moja instalacja została skonfigurowana z superużytkownikiem bazy danych, którego nazwa roli jest taka sama, jak nazwa logowania (krótka).
Ale niektóre skrypty linuxowe zakładają, że superużytkownik ma tradycyjną nazwę roli postgres
Jak to rozwiązałem?
Jeśli zainstalowałeś za pomocą homebrew
run:
/usr/local/opt/postgres/bin/createuser -s postgres
Jeśli używasz określonej wersji postgres, powiedz, 10.5
a następnie uruchom:
/usr/local/Cellar/postgresql/10.5/bin/createuser -s postgres
LUB:
/usr/local/Cellar/postgresql/10.5/bin/createuser -s new_username
LUB:
/usr/local/opt/postgresql@11/bin/createuser -s postgres
Jeśli zainstalowałeś z postgres.app
dla Mac, uruchom:
/Applications/Postgres.app/Contents/Versions/10.5/bin/createuser -s postgres
PS: zastąp 10.5 swoją wersją PostgreSQL