2015-09-03 3 views
1

Я как прочитаю этот урок HERE. Существует команду ниже, чтобы войти в систему как пользователь:«Роль» не существует в postgresql

# login as user "user" 
psql -U user 

, когда я исполняю выше команду, я получаю сообщение об ошибке сказав следующее:

psql: FATAL: role "user" does not exist 

Единственная помощь, которую я видел в Интернете был HERE , то сказал следующее:

FATAL: роль "MyUserName" не существует

По умолчанию PostgreSQL подключается к пользователю PostgreSQL с тем же именем , что и текущий пользователь unix. Вы не создали пользователя PostgreSQL этим именем в вашей базе данных.

Создайте подходящего пользователя или укажите другое имя пользователя для подключения . В инструментах командной строки используется флаг -U.

Но я до сих пор не совсем понимаю, почему я получаю эту ошибку, может кто-нибудь помочь мне понять это, пожалуйста.

спасибо.

+0

вы получаете сообщение об ошибке, потому что вы не создали пользователя с именем 'user'. – dsh

ответ

3

Проверьте, существует ли пользователь.

\dg 

Если нет, вам необходимо то, чего не хватает в учебнике, и при необходимости отредактируйте его.

CREATE USER user WITH PASSWORD '<here you password>'; 
3

Вы должны сначала войти в систему в Linux оболочку как пользователь postgres и не создавать нового пользователя Postgres с командой createuser. Пользователь системы postgres создается автоматически установщиком Postgres.

Выполнить этот код в консоли (изменение your_username с именем по вашему выбору):

sudo -u postgres -i 
createuser -l -d -P your_username 

Лучше вы создаете базу данных с тем же именем, тоже (это сделать Войти позже легче):

createdb your_username -O your_username 

Тогда вы должны быть в состоянии соединить в PSQL с

psql -h localhost -U your_username 
Смежные вопросы