开发者

How to add a user to PostgreSQL in Windows?

开发者 https://www.devze.com 2023-02-14 13:51 出处:网络
I\'m running PostgreSQL on mt Windows 7 machine.To run a database I type: C:\\psql -Upostgres mydb and this works, but it would be nice if I could leave off the -U stuff, but then Postgres thinks I

I'm running PostgreSQL on mt Windows 7 machine. To run a database I type:

C:\psql -Upostgres mydb

and this works, but it would be nice if I could leave off the -U stuff, but then Postgres thinks I'm trying to log in as 'Eric', since that is my user profile.

So I need to add a user to Postgres, obviously. But how? If I try:

C:\createuser Eric

Postgres thinks I'm trying to add a user Eric as the user Eric whi开发者_Python百科ch fails. Adding the -U flag doesn't seem to work here.

What am I missing? My command window is in administrator mode, and there is no sudo available, obviously.


In pgadmin you can create a new "Login Role" and name it Eric and give it permissions graphically, or from command line you can do something like this

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

see http://developer.postgresql.org/pgdocs/postgres/sql-createrole.html for information on the CREATE ROLE options.


Just to add more information. From official documentation: you can specify the user under which createuser utility logs in to postgres via environment variable:

PGUSER

One liner for powershell:

& { $env:PGUSER="postgres"; .\createuser.exe Eric}


The documentation for createuser indicates that a -U switch is accepted:

-U username
--username username

User name to connect as (not the user name to create).

This is what I would expect to use (although I've never tried to set up PostgreSQL on Windows, only on unices).


This worked for me --username Shweta;

Now to create a database create database db;


The simplest case is to use the Windows command line and as I understand that the user posgres is present:

psql -U postgres -c "CREATE ROLE shpp;"

psql -U postgres -c "ALTER ROLE  shpp WITH LOGIN;"

psql -U postgres -c "ALTER USER  shpp CREATEDB;"

psql -U postgres -c "ALTER USER  shpp WITH PASSWORD 'shpp';"

In my shpp example, this is the name and password of the new user.

0

精彩评论

暂无评论...
验证码 换一张
取 消