我已經在 Ubuntu 上安裝了 postgres 並將我切換到 postgres 用戶。我已經打開psql
創建了一個資料庫,然後決定切換回root。但是,它不允許我:
sudo su -
結果它問我
[sudo] password for postgres:
我嘗試輸入只是為了得到
Sorry, try again
然後我決定嘗試使用更改 postgres 密碼這個答案:
ALTER USER postgres WITH PASSWORD 'postgres';
它看起來有效,但是在嘗試再次切換到 root 後,它仍然不允許我。
答案1
看來您混淆了兩件事:
postgres
系統用戶postgres
SQL 資料庫用戶
兩者之間的唯一關係是在 PostgreSQL 安裝時,資料庫使用者postgres
已通過身份驗證同行身份驗證方法:資料庫伺服器檢查系統請求存取資料庫的使用者postgres
也稱為資料庫使用者postgres
。此外,資料庫伺服器本身以系統使用者身分運作postgres
。
不可能從資料庫改變系統。為資料庫帳戶提供密碼不會改變以下事實:系統用戶postgres
沒有須藤權限,並且最肯定的是禁用的密碼,因此預設僅允許 root 使用它(但反之則不然)。
因此,如果您想成為root
,則無法從postgres
系統帳戶執行此操作,這是一件好事:如果資料庫伺服器(其進程也以系統使用者身份運行postgres
)受到損害,將無法升級root
為從系統帳戶存取它。
只需再次登入您用於安裝 postgreSQL 的帳戶即可:直接登入該root
帳戶(通常在Ubuntu 上不這樣做)或(通常在Ubuntu 上這樣做)在安裝系統時配置的用戶,uid 1000,在Ubuntu 上預設允許去做sudo su -
。
答案2
如果你想退出postgres用戶,只要輸入「exit」即可。
它將返回到 root 用戶