我一直试图设置流浪汉,但我收到了这个错误。 我将列出我的安装方法。请在您认为需要的地方建议更改。
- 安装虚拟框
sudo apt-get install virtual box
-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
答案 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。
答案 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