[英]password authentication failed for user "postgres" on mac
我在創建新的 psql 用戶時遇到問題,因為我無法以“postgres”的身份登錄 psql,我試過了
1. sudo -u postgres psql
2. sudo -u postgres createuser img_site -P -s -e
他們都要求我不知道的“postgres”密碼。 我試圖更改用戶“postgres”的 unix 密碼(我知道這很危險),但它仍然告訴我:用戶“postgres”的密碼身份驗證失敗。 我也試過 GUI pgAdmin 但它是同樣的錯誤。
我不知道是否相關:我創建了一個符號鏈接
sudo ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket/
為了擺脫錯誤
createuser: could not connect to database postgres: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
檢查pg_hba.conf
。 它應該在頂部(在所有其他條目之前)這樣一行:
local all postgres peer
這允許postgres
db用戶對所有數據庫進行本地unix套接字訪問,而無需輸入密碼。
還要清除並重新定義postgres
系統用戶的密碼:
sudo passwd -d postrges
sudo su postgres -c passwd
然后運行:
su postgres -c psql template1
psql> ALTER USER postgres WITH PASSWORD '<password>';
鍵入\\q
退出psql,然后完成為postgres
用戶重置密碼的操作。
sudo
不需要您要切換到的帳戶的密碼,而是想要您要從切換到的帳戶的密碼。 它還要求您是管理員(或在/ etc / sudoers中以其他方式代替)。 另一方面, su
要求您要切換到的帳戶的密碼。
我試圖為Ruby on Rails設置postgres,但由於用戶錯誤,密碼驗證失敗。 檢查服務器是否正在實際運行:
pg_ctl -D /usr/local/var/postgres status
如果你得到
pg_ctl: no server running
跑
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
另外,您必須在psql中包含localhost。
psql -U postgres -h localhost
這對我有用:
用密碼'my_password'改變USER my_user;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.