PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Грешка в PostgreSQL:Фатално:потребителското име на ролята не съществува

Използвайте потребителя на операционната система postgres за да създадете своята база данни - стига да не сте настроили база данни роля с необходимите привилегии, която съответства на потребителя на вашата операционна система със същото име (h9uest във вашия случай):

sudo -u postgres -i

Както се препоръчва тук или тук.

След това опитайте отново. Въведете exit когато работите като системен потребител postgres .

Или изпълнете единствената команда createuser като postgres с sudo , както е демонстрирано от drees в друг отговор.

Въпросът е да се използва потребителят на операционната система, отговарящ на ролята на база данни със същото име, за да му бъде предоставен достъп чрез ident удостоверяването . postgres е потребителят на операционната система по подразбиране, който е инициализирал клъстера на базата данни. Ръководството:

За да стартирате системата на базата данни, прясно инициализираната система винаги съдържа една предварително дефинирана роля. Тази роля винаги е „суперпотребител“ и по подразбиране (освен ако не е променена при изпълнение на initdb ) ще има същото име като потребителя на операционната система, който инициализира клъстера на базата данни. Обикновено тази роля ще бъде наречена postgres .За да създадете повече роли, първо трябва да се свържете като тази първоначална роля.

Чувал съм за странни настройки с нестандартни потребителски имена или където потребителят на операционната система не съществува. Там ще трябва да адаптирате стратегията си.

Прочетете за ролите на базата данни и удостоверяването на клиента в ръководството.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да вмъкнете и изтриете данни в PostgreSQL

  2. В PostgreSQL, как да вмъкна данни с команда COPY?

  3. Postgresql intarray грешка:недефиниран символ:pfree

  4. Вземете последния ден от месеца в PostgreSQL

  5. Има ли оператор на postgre CLOSEST?