Подтвердить что ты не робот

Psql фатальная роль не существует

Я недавно установил последнюю версию Ubuntu, и я еще не привык к этому. У меня было несколько проблем с подключением postgresql к pgadmin3.

Я попытался следовать нескольким учебникам, чтобы создать сервер localhost, который я могу использовать в pgadmin3. Я на самом деле не попал в цель, и мне кажется, что я усугубил ситуацию, установив, удалив, установив, удалив, попробовав ответы, которые нашел... На данный момент я не уверен, что мой postgres чистый. Вполне возможно, что у меня установлено два postgres, еще раз, я не уверен. Я попытался удалить его, но у меня была ошибка, которая в основном говорила, что postgres не в sudo.

Дело в том, что теперь у меня есть эта ошибка при запуске psql в консоли:

$psql
psql: FATAL: role "user" does not exist 

Я не могу найти pg_hba.conf и в этот момент я слишком боюсь ухудшить положение, пытаясь следовать любым другим постам.

Как я мог сделать эту работу?

4b9b3361

Ответ 1

Как указано в комментариях, ваш pg_hba.conf кажется прекрасным.

Обычно база данных запускается как пользователь postgres (проверьте ps aux | grep postgres, чтобы узнать, что postgres имени пользователя работает под).

Войдите в систему как пользователь, например sudo su - postgres, затем создайте пользователя, соответствующего вашей обычной учетной записи пользователя Ubuntu (createuser username), и, наконец, создайте базу данных с таким же именем и установите владельца (-O) на этот пользователь базы данных, например: createdb -O username username).

Это должно сделать вызов psql work, а pgadmin - пока вы начнете его как пользователь по умолчанию, имя пользователя - также должно работать.

Изменить: по умолчанию psql будет использовать ваше имя пользователя Linux в качестве значения по умолчанию для имени пользователя базы данных и имени базы данных. Вы можете переопределить имя пользователя с помощью -U someotherusername и подключиться к другой базе данных, добавив это имя БД в командную строку, например psql someotherdbname. Вы также можете найти psql -l полезным для перечисления существующих баз данных.

Ответ 2

sudo -u postgres createuser user

может помочь вам создать нового пользователя со всеми привилегиями postgres

Ответ 4

В окнах 10 это работает для тонких

pg_restore --format = c --verbose --no-owner --no-privileges --dbname = MYDB --username = postgres --no-password --jobs = 8 F:/MYBK.backup

- имя пользователя = (роль) и --no-пароль необходимы