Как добавить пользователя в PostgreSQL в Windows? - PullRequest
22 голосов
/ 04 марта 2011

Я использую PostgreSQL на компьютере с Windows 7.Чтобы запустить базу данных, я набираю:

C:\psql -Upostgres mydb

, и это работает, но было бы неплохо, если бы я мог отказаться от вещей -U, но тогда Postgres думает, что я пытаюсь войти как «Эрик».', так как это мой профиль пользователя.

Так что, очевидно, мне нужно добавить пользователя в Postgres.Но как?Если я попытаюсь:

C:\createuser Eric

Постгрес думает, что я пытаюсь добавить пользователя Eric в качестве пользователя Eric , что не удается.Добавление флага -U здесь не работает.

Что мне не хватает?Мое командное окно находится в режиме администратора, и, очевидно, sudo недоступно.

Ответы [ 4 ]

38 голосов
/ 04 марта 2011

В pgadmin вы можете создать новую «роль входа» и назвать ее «Эрик» и дать ей разрешения графически, или из командной строки вы можете сделать что-то вроде этого

psql -U postgres -c "CREATE ROLE Eric LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE;" mydb

см. http://developer.postgresql.org/pgdocs/postgres/sql-createrole.htmlдля получения информации о параметрах CREATE ROLE.

3 голосов
/ 04 апреля 2017

Просто чтобы добавить больше информации.Из официальной документации : вы можете указать пользователя, под которым утилита createuser будет входить в postgres через переменную окружения:

PGUSER

Один вкладыш для powershell:

& { $env:PGUSER="postgres"; .\createuser.exe Eric}
2 голосов
/ 04 марта 2011

В документации для createuser указано, что переключатель -U принят:

-U username
--username username

Имя пользователя для подключения как (не имя пользователя для создания).

Это то, что я ожидал использовать (хотя я никогда не пытался настроить PostgreSQL на Windows, только на Unix).

0 голосов
/ 03 июня 2019

Это сработало для меня --username Shweta;

Теперь для создания базы данных create database db;

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