簡體   English   中英

psql:致命:角色“vagrant”不存在

[英]psql: FATAL: role “vagrant” does not exist

我一直試圖設置流浪漢,但我收到了這個錯誤。 我將列出我的安裝方法。 請在您認為需要的地方建議更改。

- 安裝虛擬盒子
sudo apt-get install virtual box

-ranown網站上的.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

您需要更改為postgres用戶並授予vagrant超級用戶訪問權限。

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

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

發生這種情況是因為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。

資源

1)首先退出流浪漢提示

出口

2)停止流浪者實例

流浪漢停止

3)消滅流浪者實例

流浪漢毀滅

4)創建一個新實例

流浪漢

這可能會解決它。 它至少對我有用。(嘗試過)

您正在嘗試使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM