psql:致命:角色"流浪汉"不存在

时间:2015-05-24 13:06:48

标签: postgresql ubuntu

我一直试图设置流浪汉,但我收到了这个错误。 我将列出我的安装方法。请在您认为需要的地方建议更改。

- 安装虚拟框
sudo apt-get install virtual box

来自vagrant网站的

-Downloaded .deb包

- 使用
安装它  sudo dpkg -i (package_name)

- 然后我选择了fullstack文件夹中的vagrant文​​件夹和
vagrant up
vagrant ssh

然后我做了:
vagrant@vagrant-ubuntu-trusty-32: cd /vagrant/forum vagrant@vagrant-ubuntu-trusty-32:/vagrant/forum$ sudo apt-get install postgresql-client-common vagrant@vagrant-ubuntu-trusty-32:/vagrant/forum$ sudo apt-get install postgres-xc-client

然后最后:
vagrant@vagrant-ubuntu-trusty-32:/vagrant/forum$ psql psql: FATAL: role "vagrant" does not exist

4 个答案:

答案 0 :(得分:9)

您需要更改为postgres用户并授予流浪超级用户访问权限。

sudo su - postgres
createuser vagrant -s
exit  # exit from postgres user back into vagrant

你现在可以和流浪者一起做。

答案 1 :(得分:3)

这种情况正在发生,因为postgres中没有指定角色。如果没有指定角色,它会尝试使用帐户的用户名作为默认角色,从而导致您的错误。所以,现在,你可以为流浪汉用户创建postgres角色,或者只使用postgres用户本身。 所以,首先,使用postgres用户登录:

psql -U postgres

然后,为用户流浪者创建一个角色

CREATE ROLE vagrant LOGIN;

如果您想要密码,请使用:

CREATE USER vagrant WITH PASSWORD 'password';

CREATE ROLE vagrant WITH LOGIN PASSWORD 'password';

CREATE USER与CREATE ROLE相同,但USER表示LOGIN。

Source

答案 2 :(得分:2)

1)首先退出流浪汉提示

  
    

出口

  

2)停止流浪汉实例

  
    

流浪汉停止

  

3)销毁流浪者实例

  
    

流浪汉摧毁

  

4)创建一个新实例

  
    

流浪汉

  

这可能会解决它。它至少对我有用。(试过)

答案 3 :(得分:0)

您正在尝试使用 vagrant 用户连接到postgresql。在这种情况下,postgresql y寻找相应的 vagrant 角色(如果未指定,则用户的默认角色是它的用户名)。但是,看起来没有创建这样的角色。

您可以使用 postgres 用户创建角色,或尝试登录:

vagrant@vagrant-ubuntu-trusty-32:/vagrant/forum$ psql -U postgres

您还可以指定要连接的数据库名称:

vagrant@vagrant-ubuntu-trusty-32:/vagrant/forum$ psql -U postgres -d DATABASENAME