我最近在 Windows 7 上安装了 PostgreSQL,每次我尝试使用 CMD 执行 SQL 命令时,我都会收到此错误
createdb: could not connect to database template1: FATAL: password authentication failed for user "R-61"
其中 R-61 是我的 Windows 机器用户名。
这是我如何在 pgSQL 中使用 CMD
$ cd C:\xampp\pgsql\9.1\bin
$ createdb NEWDATABASE
我收到输入密码的提示。这是我感到困惑的地方,因为我不知道密码是什么。我已经尝试过我的窗口用户密码、postgres
超级用户密码,但似乎都不起作用。这是我收到的错误信息
createdb: could not connect to database template1: FATAL: password authentication failed for user "R-61"
有人知道这个问题的解决方案吗?我想将用户表单 R-61 更改为postgres
超级用户会起作用,但我不知道该怎么做。
非常需要您的帮助。
createdb
是一个必须像任何其他客户端命令一样连接到服务器的命令(即使在服务器本身上运行),因此需要数据库用户连接。
如果您没有使用-U username
选项指定数据库用户,它将使用您的操作系统用户名,因此会"R-61"
在错误消息中引用。询问的密码是不存在的R-61
数据库用户的密码。
还有其他选项,例如主机默认为localhost
和端口默认为5432
,请参阅其手册页了解所有这些。
由于您提到您知道 postgres 超级用户密码,因此最简单的解决方案是使用postgres
用户来启动命令。无论如何,这是有道理的,因为在全新安装时,此用户将是唯一有权创建数据库的用户。
尝试 createdb -U postgres newdatabase
它应该要求输入密码,这将是postgres
数据库用户的密码。
如果它不要求输入密码,则意味着以pg_hba.conf
这种方式配置了安全策略。如果密码丢失(或从未设置密码,这是某些自动安装的情况,尤其是在 Unix 上),pg_hba.conf
则必须更改并重新加载服务以授权无密码连接,至少暂时设置新密码。
归档时间: |
|
查看次数: |
15896 次 |
最近记录: |