Reputation: 131
I have been trying to set up vagrant but I am getting this error. I will list out my installation method. Please suggest changes where you feel they are needed.
-Installed virtual box
sudo apt-get install virtual box
-Downloaded .deb package from vagrant website
-Installed it using
sudo dpkg -i (package_name)
-then I selected the vagrant folder in the fullstack folder and
vagrant up
vagrant ssh
then I did :
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
Then finally:
vagrant@vagrant-ubuntu-trusty-32:/vagrant/forum$ psql
psql: FATAL: role "vagrant" does not exist
Upvotes: 12
Views: 11517
Reputation: 33
First exit the vagrant prompt
exit
Halt the vagrant instance
vagrant halt
Destroy the vagrant instance
vagrant destroy
Create a new instance
vagrant up
This might solve it. It atleast did for me.(Tried it)
Upvotes: 0
Reputation: 1835
You need to change to the postgres
user and give vagrant superuser access.
sudo su - postgres
createuser vagrant -s
exit # exit from postgres user back into vagrant
You can do everything with with vagrant now.
Upvotes: 23
Reputation: 1030
This is happening because there is no role specified in postgres. When there is no role specified, it tries to use the username of the account as the default role and hence your error. So, now, you could either create a role in postgres for the vagrant user or just use the postgres user itself. So, first, login with the postgres user:
psql -U postgres
then, create a role for the user vagrant
CREATE ROLE vagrant LOGIN;
In case, if you want it with a password, use:
CREATE USER vagrant WITH PASSWORD 'password';
or
CREATE ROLE vagrant WITH LOGIN PASSWORD 'password';
CREATE USER is the same as CREATE ROLE with the exception that USER implies LOGIN.
Upvotes: 8
Reputation: 2223
You are trying to connect to postgresql using vagrant user. In this case, postgresql y looking for the corresponding vagrant role (if not specified, the default role for a user is it's username). However, looks like there is no such role created.
You can create the role, or try for example a login using the postgres user:
vagrant@vagrant-ubuntu-trusty-32:/vagrant/forum$ psql -U postgres
You can also specify the databasename you want to connect to:
vagrant@vagrant-ubuntu-trusty-32:/vagrant/forum$ psql -U postgres -d DATABASENAME
Upvotes: 0