我正在尝试使用带有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的旧版本。
任何有关如何处理此事的信息都非常有用。
提前致谢。
答案 0 :(得分:4)
如果未指定数据库用户,则所有Postgres命令行工具都会尝试使用当前操作系统用户连接到数据库。
因此,您需要指定用于连接Postgres服务器的Postgres超级用户的用户名:
createuser -U postgres -d temba
如果您使用psql
,这一点就会变得更加明显。您在启动时指定Postgres用户帐户和目标数据库:
psql -U postgres -d temba
然后在提示符下,您可以运行create user ....
temba=# create user foobar ... ;
命令行工具createuser
在后台执行的操作是什么。