Използвайте потребителя на операционната система postgres
за да създадете своята база данни - стига да не сте настроили база данни роля с необходимите привилегии, която съответства на потребителя на вашата операционна система със същото име (h9uest
във вашия случай):
sudo -u postgres -i
Както се препоръчва тук или тук.
След това опитайте отново. Въведете exit
когато работите като системен потребител postgres
.
Или изпълнете единствената команда createuser
като postgres
с sudo
, както е демонстрирано от drees в друг отговор.
Въпросът е да се използва потребителят на операционната система, отговарящ на ролята на база данни със същото име, за да му бъде предоставен достъп чрез ident
удостоверяването . postgres
е потребителят на операционната система по подразбиране, който е инициализирал клъстера на базата данни. Ръководството:
За да стартирате системата на базата данни, прясно инициализираната система винаги съдържа една предварително дефинирана роля. Тази роля винаги е „суперпотребител“ и по подразбиране (освен ако не е променена при изпълнение на
initdb
) ще има същото име като потребителя на операционната система, който инициализира клъстера на базата данни. Обикновено тази роля ще бъде нареченаpostgres
.За да създадете повече роли, първо трябва да се свържете като тази първоначална роля.
Чувал съм за странни настройки с нестандартни потребителски имена или където потребителят на операционната система не съществува. Там ще трябва да адаптирате стратегията си.
Прочетете за ролите на базата данни и удостоверяването на клиента в ръководството.