Невозможно создать базу данных - psql: FATAL: роль "dyadav" не существует - Mac OS - PullRequest
0 голосов
/ 05 апреля 2019

Я установил postgres, используя brew.

DYadav-MBP-2:~ dyadav$ brew install postgresql@9.6

Ниже приведен мой файл .bash_profile.

DYadav-MBP-2:~ dyadav$ cat .bash_profile
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export PATH=/usr/local/opt/postgresql@9.6/bin/:$PATH

Я также добавил 127.0.0.1 postgres в /etc/hosts.

.

Запустил postgres, используя следующую команду:

brew services start postgresql@9.6

Но когда я запускаю psql postgres, я получаю «psql: FATAL: роль« dyadav »не существует»

Я следую за многимиРешения, представленные в переполнении стека, ничего не помогли.

fyi: postgres работает от пользователя dyadav.

DYadav-MBP-2:~ dyadav$ ps aux | grep postgres
dyadav            2338   0.0  0.0  4340528    896   ??  Ss    8:12AM   0:00.05 postgres: stats collector process
dyadav            2336   0.0  0.0  4485592   1968   ??  Ss    8:12AM   0:00.04 postgres: autovacuum launcher process
dyadav            2335   0.0  0.0  4485528   1000   ??  Ss    8:12AM   0:00.05 postgres: wal writer process
dyadav            2334   0.0  0.0  4485528   2020   ??  Ss    8:12AM   0:00.08 postgres: writer process
dyadav            2332   0.0  0.0  4485528   1072   ??  Ss    8:12AM   0:00.00 postgres: checkpointer process
dyadav            2302   0.0  0.1  4485808  17252   ??  S     8:12AM   0:00.06 /usr/local/opt/postgresql@9.6/bin/postgres -D /usr/local/var/postgresql@9.6
dyadav            4641   0.0  0.0  4268056    804 s000  S+    9:41AM   0:00.00 grep postgres

1 Ответ

0 голосов
/ 05 апреля 2019

psql предполагает, что вы хотите подключиться к базе данных как текущий пользователь операционной системы.Поэтому psql postgres пытается подключиться к базе данных с именем postgres, используя пользователя базы данных dyadav.

Поскольку вы хотите создать базу данных, вам необходимо подключиться как суперпользователь postgres (пользователь базы данных, не пользователь операционной системы):

psql -d postgres -U postgres

-d указывает базу данных для подключения, -U указывает пользователя базы данных для использования.

Затем вы можете запустить команду create database, чтобы создать другую базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...