2015-11-12 4 views
-1

Я пытаюсь создать базу данных PostgreSQL 9.3 в Ubuntu 14.04 LTS. Я установил базу данных, и теперь я пытаюсь создать пользователя, пароль и новую базу данных. Это то, что я сделал в оболочке Ubuntu:Создание базы данных PostgreSQL 9.3 в Ubuntu

Установка

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - 
sudo apt-get install postgresql-9.3 

Создание пользователя "MyUser"

sudo -u postgres createuser myuser 

Создание пароля

sudo -u postgres psql 
postgres=# \password 
Enter new password: bla bla... 
Enter it again: bla bla... 

Creation базы данных "newdb"

createdb newdb -O myuser 

Но я получаю эту ошибку

createdb: could not connect to database template1: FATAL: role "bla bla" does not exist 

что может быть проблема?

+0

Каков результат этой команды: 'psql -U postgres -c '\ du +''? Существует либо проблема во время создания пользователя (если вы назвали пользователя 'bla bla', он должен завершиться неудачно, так как в имени пользователя есть пробел), или проблема заключается в пользовательских атрибутах (отсутствие разрешения на вход). – zee

+0

Извините, неверно прочитайте сообщение. Когда вы выполнили операцию смены пароля, вы были подключены как пользовательские «postgres» не как пользователь «myuser». Так что это тоже проблема. – zee

+0

А, ок. Как я могу войти в систему с моим новым пользователем? – Carlo

ответ

0

Вам нужно удалить и заново создать пользователя следующим образом:
dropuser myuser
createuser -l myser -P
Вам будет предложено ввести пароль.
Это должно сделать трюк. Надеюсь это поможет.

+0

I'v попытался, но у меня получилась эта ошибка: dropuser: не удалось подключиться к базе данных postgres: FATAL: роли «bla bla» не существует – Carlo

+0

Я думаю, что пользователь никогда не создавался в первую очередь, просто запустите вторую команду : 'createuser -l myser -P' – zee

+0

Я вводил два раза пароль, а затем получаю ту же ошибку к сожалению. Вместо «myser» я набрал имя нового пользователя «myuser» или все, что захочу. Это верно? – Carlo

0

Хорошо, проверьте ваш pg_hba.conf. Первый запуск:
locate pg_hba.conf
Это должно вернуть местоположение файла конфигурации аутентификации, основанного на postgresql. Затем убедитесь, что следующая строка устанавливается соответственно:

# IPv4 local connections: 
host all    all    127.0.0.1/32   trust 

Это позволит беспарольный доступ к БД. Вы можете попробовать:
psql -U postgres

Попробуйте и дайте мне знать, если вы можете подключиться.

Смежные вопросы