Как добавить пользователя в PostgreSQL в Windows?
Я запускаю PostgreSQL на машине Windows 7. Для запуска базы данных я печатаю:
C:\psql -Upostgres mydb
и это работает, но было бы неплохо, если бы я мог оставить материал -U
, но затем Postgres думает, что я пытаюсь войти в систему как "Eric", так как это мой профиль пользователя.
Итак, я должен добавить пользователя в Postgres, очевидно. Но как? Если я попробую:
C:\createuser Eric
Postgres думает, что я пытаюсь добавить пользователя Эрика как пользователя Эрика, который терпит неудачу. Добавление флага -U
здесь не работает.
Что мне не хватает? Мое командное окно находится в режиме администратора, и, очевидно, нет sudo
.
Ответы
Ответ 1
В pgadmin вы можете создать новую "роль входа" и назовите ее Eric и предоставить ей разрешения графически или из командной строки вы можете сделать что-то вроде этого
psql -U postgres -c "CREATE ROLE Eric LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE;" mydb
см. http://developer.postgresql.org/pgdocs/postgres/sql-createrole.html информацию о параметрах CREATE ROLE.
Ответ 2
Просто добавьте дополнительную информацию. Из официальная документация: вы можете указать пользователя, в соответствии с которым утилита createuser входит в postgres через переменную среды:
PGUSER
Один вкладыш для powershell:
& { $env:PGUSER="postgres"; .\createuser.exe Eric}
Ответ 3
Документация для createuser
указывает, что переключатель -U
принят:
-U username
--username username
Имя пользователя для подключения (не имя пользователя для создания).
Это то, что я ожидал бы использовать (хотя я никогда не пытался настроить PostgreSQL на Windows, только на устройствах).
Ответ 4
Это сработало для меня --username Shweta;
Теперь для создания базы данных create database db;