Почему я не могу создать базу данных с моей основной учетной записью пользователя с PostgreSQL? - PullRequest
0 голосов
/ 07 мая 2020

Итак, у меня PostgreSQL установлено нормально, и я пытаюсь запустить команду createdb 'test' в Терминале. Я использую свою обычную учетную запись. При попытке создать базу данных меня дважды спрашивают пароль, затем появляется сообщение об ошибке createdb: error: could not connect to database template1: FATAL: password authentication failed for user "sethmarks". Означает ли это, что я ввел неверный пароль или что у меня нет разрешения на создание баз данных под этим пользователем? Меня это смущает и расстраивает, и я хотел бы знать, что происходит. Я ввожу пароль, который использую для пользователя ОС, в который я сейчас вошел.

Я могу создать базу данных, когда сделаю sudo su - postgres, а затем создать ее, когда я делаю это под пользователем Postgres, но это не будет работать с моей программой. Кто-нибудь может помочь мне разобраться в этом? Я включил изображение терминала, чтобы показать процесс и то, что происходит при попытке создать новую базу данных. Большое спасибо.

error message

1 Ответ

0 голосов
/ 07 мая 2020

Это зависит от привилегий, которые были предоставлены вашей учетной записи пользователя и какие привилегии были предоставлены PUBLI C.

Вы можете запросить некоторые привилегии с помощью psql \du метакоманды для текущий пользователь.

В вашем случае вам нужно, по крайней мере, запустить как суперпользователь:

grant connect on database template1 to sethmarks;

Я не совсем понимаю, почему пароль запрашивается дважды: это не вызвано неправильным паролем: I имеют такое же поведение, но мне нужно указать пароль пользователя базы данных, а не пароль пользователя ОС.

...