如何在 Windows 中向 PostgreSQL 添加用户?

问题描述 投票:0回答:5

我在 Windows 7 机器上运行 PostgreSQL。要运行数据库,我输入:

C:\psql -Upostgres mydb

这可行,但如果我可以省略

-U
的内容,那就太好了,但 Postgres 认为我正在尝试以“Eric”身份登录,因为那是我的用户配置文件。

所以显然我需要向 Postgres 添加一个用户。但如何呢?如果我尝试:

C:\createuser Eric

Postgres 认为我正在尝试添加用户 Eric 作为用户 Eric,但失败了。添加

-U
标志在这里似乎不起作用。

我错过了什么?我的命令窗口处于管理员模式,显然没有

sudo
可用。

database postgresql configuration
5个回答
58
投票

在 pgadmin 中,您可以创建一个新的“登录角色”并将其命名为 Eric 并以图形方式授予其权限,或者从命令行您可以执行类似的操作

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

有关 CREATE ROLE 选项的信息,请参阅 https://www.postgresql.org/docs/current/sql-createrole.html


5
投票

只是为了添加更多信息。从官方文档:您可以通过环境变量指定createuser实用程序登录postgres的用户:

PGUSER

Powershell 的一个衬垫:

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

2
投票

createuser

文档表明接受
-U
开关:

-U username

--username username

要连接的用户名(不是要创建的用户名)。

这就是我期望使用的(尽管我从未尝试过在 Windows 上设置 PostgreSQL,仅在 unice 上)。


1
投票

这对我有用

--username Shweta;

现在创建数据库

create database db;


1
投票

最简单的情况是使用 Windows 命令行,据我了解,存在用户

posgres

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';"

在我的

shpp
示例中,这是新用户的名称和密码。

© www.soinside.com 2019 - 2024. All rights reserved.