我正在设置PostgreSQL 9.1。我不能用PostgreSQL做任何事情:不能createdb,不能createuser;所有操作都返回错误消息

Fatal: role h9uest does not exist

h9uest是我的帐户名,我在这个帐户下执行apt-get安装PostgreSQL 9.1。 根帐户仍然存在类似的错误。


当前回答

遵循以下步骤,它将为你工作:

run msfconsole type db_console some information will be shown to you chose the information who tell you to make: db_connect user:pass@host:port.../database sorry I don't remember it but it's like this one then replace the user and the password and the host and the database with the information included in the database.yml in the emplacement: /usr/share/metasploit-framework/config you will see. rebuilding the model cache in the background. Type apt-get update && apt-get upgrade after the update restart the terminal and lunch msfconsole and it works you can check that by typing in msfconsole: msf>db_status you will see that it's connected.

其他回答

对我来说,像将端口从5432更改为5433这样简单的操作就可以了。

在本地用户提示符,而不是根用户提示符中键入

sudo -u postgres createuser <local username>

输入本地用户密码。

然后输入前面的命令,生成“角色‘username’不存在”。

以上步骤为我解决了问题。 如果没有,请发送终端消息进行以上步骤。

Windows用户:psql -U postgres

然后你应该看到PostgreSQL的命令行界面:postgres=#

sudo su - postgres

psql template1

在PGSQL上创建具有“超级用户”权限的角色

CREATE ROLE username superuser;
eg. CREATE ROLE demo superuser;

然后创建用户

CREATE USER username; 
eg. CREATE USER demo;

为用户分配权限

GRANT ROOT TO username;

然后启用该用户登录,这样你就可以从普通的$ terminal运行:psql template1:

ALTER ROLE username WITH LOGIN;

对于使用docker并正确遵循官方文档说明的用户,如果仍然遇到此问题,请重新启动窗口并重试。