Password
無法在 postgresql 中更改使用者 postgres 的密碼
我在 pg_hba.conf 中做了以下條目
本地所有人都信任
但仍然
使用 postgres
不接受空白作為密碼。由於大多數文件歸 postgres 所有,我無法執行 psql 或 pg_ctl。
編輯1
dhaval@ubuntu:~$ su -c "pg_ctl reload -D template1" Password: su: Authentication failure dhaval@ubuntu:~$ su -c psql Password: su: Authentication failure
我在上面給出了 root 密碼,但我猜它期待“postgres”超級使用者密碼。我沒有相同的。我需要重置它。
編輯2
dhaval@ubuntu:~$ sudo -i -u postgres [sudo] password for dhaval: postgres@ubuntu:~$ psql Welcome to psql 8.3.7, the PostgreSQL interactive terminal.
上面已經讓我使用了 postgreSQL 命令提示符。但我仍然不確定為什麼“信任”不起作用。
作業系統使用者密碼(當您嘗試 su 時要求您輸入的東西)與Postgres
trust
使用者密碼(當您將 auth 設置為in時不需要的東西pg_hba.conf
)不同。您需要為Operating System的 postgres 使用者設置一個有效的****作業系統密碼並輸入該密碼才能 su 到該使用者(或從 root su 到該使用者,您不會被要求輸入密碼)。
通常 postgres作業系統使用者密碼在數據庫初始化後被鎖定,因為唯一需要以 postgres 身份執行的是
pg_ctl
,它可以su -c
從您的 init 腳本啟動(以 root 身份執行,因此不需要密碼)。