Имя пользователя и пароль по умолчанию NULL для PostgreSQL? - PullRequest
0 голосов
/ 22 октября 2019

Я установил postgresql через homebrew.

По умолчанию была база данных с именем "postgres". Я также создал новую базу данных, выполнив команду «создать» из терминала. Тем не менее, postgresql никогда не предлагал мне установить имя пользователя и пароль. Когда я использую графический интерфейс пользователя (Datagrip) для навигации по этим базам данных, я могу оставить поля имени пользователя и пароля пустыми при подключении к этим базам данных.

Я новичок в postgresql и знаю MySQL. В MySQL есть учетная запись root, из которой я могу создавать новые учетные записи с определенными привилегиями. Значение по умолчанию в postgresql NULL?

1 Ответ

0 голосов
/ 22 октября 2019

По умолчанию postgres поставляется только с аутентификацией входа в систему (peer). Вы должны использовать psql (клиент командной строки postgres), чтобы добавить новый логин и пароль. Чтобы получить доступ к psql, выполните:

sudo -u postgres psql

Внутри psql создайте роль с помощью команды:

postgres=# CREATE USER myuser with password 'mypass';

Наконец, предоставьте разрешение для какой-либо базы данных этой новой роли:

GRANT ALL ON DATABASE mydb to myuser;

После этого вы сможете получить доступ к базе данных, используя этого нового пользователя в DataGrip.

Другой (более продвинутый) вариант - отредактировать файл pg_hba.conf, чтобы включить локальные другие методы аутентификации. ,Эта страница может вам помочь: https://www.postgresql.org/docs/9.1/auth-methods.html

...