Użyj użytkownika systemu operacyjnego postgres
do tworzenia bazy danych - o ile nie masz skonfigurowanej bazy danych rola z niezbędnymi uprawnieniami, które odpowiadają użytkownikowi systemu operacyjnego o tej samej nazwie (h9uest
w twoim przypadku):
sudo -u postgres -i
Zgodnie z zaleceniami tutaj lub tutaj.
Następnie spróbuj ponownie. Wpisz exit
po zakończeniu pracy jako użytkownik systemu postgres
.
Lub wykonaj pojedyncze polecenie createuser
jako postgres
z sudo
, jak zademonstrował Drees w innej odpowiedzi.
Chodzi o to, aby użyć użytkownika systemu operacyjnego pasującego do roli bazy danych o tej samej nazwie, aby uzyskać dostęp przez ident
uwierzytelnianie . postgres
jest domyślnym użytkownikiem systemu operacyjnego, który zainicjował klaster bazy danych. Instrukcja:
Aby załadować system bazy danych, świeżo zainicjowany system zawsze zawiera jedną predefiniowaną rolę. Ta rola jest zawsze „superużytkownikiem” i domyślnie (chyba że zostanie zmieniona podczas uruchamiania initdb
) będzie miał taką samą nazwę jak użytkownik systemu operacyjnego, który zainicjował klaster bazy danych. Zwyczajowo ta rola nosi nazwę postgres
.Aby utworzyć więcej ról, musisz najpierw połączyć się jako ta początkowa rola.
Słyszałem o dziwnych konfiguracjach z niestandardowymi nazwami użytkowników lub takich, w których użytkownik systemu operacyjnego nie istnieje. Musisz tam dostosować swoją strategię.
Przeczytaj o rolach bazy danych i uwierzytelnianiu klienta w podręczniku.