PostgreSQL 9.4,64位窗口:无法从命令行创建用户

时间:2015-02-16 13:42:29

标签: postgresql postgresql-9.1 postgresql-9.2 postgresql-9.3

我正在尝试使用带有Windows的64位计算机上的PostgreSQL版本9.4从命令行创建用户。

我正在使用以下命令创建新用户:

createuser -d temba

执行上述命令时,会提示我输入密码。 我输入了安装PostgreSQL时使用的密码(qwerty)。这样做,我得到以下错误:

psql: FATAL:  password authentication failed for user "my-windows-user-name"

接下来,我尝试提供Windows的登录密码,我得到与上面相同的错误。

任何人都可以指导我完成从命令行创建新用户的过程(仅限我,我不允许使用PgAdmin创建用户)。

我已检查过类似错误的帖子。但问题是,要么他们没有使用Windows,要么他们使用的是PostgreSql的旧版本。

任何有关如何处理此事的信息都非常有用。

提前致谢。

1 个答案:

答案 0 :(得分:4)

如果未指定数据库用户,则所有Postgres命令行工具都会尝试使用当前操作系统用户连接到数据库。

因此,您需要指定用于连接Postgres服务器的Postgres超级用户的用户名:

createuser -U postgres -d temba

如果您使用psql,这一点就会变得更加明显。您在启动时指定Postgres用户帐户和目标数据库:

psql -U postgres -d temba

然后在提示符下,您可以运行create user ....

temba=# create user foobar ... ; 

命令行工具createuser在后​​台执行的操作是什么。