為什麼它要求我在這裡輸入密碼來重新啟動資料庫

為什麼它要求我在這裡輸入密碼來重新啟動資料庫

我剛剛做了

pg_basebackup -h 主主機 -p 主連接埠 -D PGDATA -U 複製用戶

我只是想重新啟動資料庫,所以我這樣做了

sudo su-postgres

sudo 服務 postgres 重新啟動

ec2 對我說

尊重他人的隱私,打字前三思,...

它詢問我 postgres 的密碼。但自從我創建了這個ec2實例以來,我從未為postgres設定任何密碼。所以其實沒有密碼,但它一直問我...

我猜可能有與 pg_basebackup 有關的東西,但我不知道,因為主資料庫也沒有特定的密碼。

我應該在這裡做什麼,謝謝

答案1

當你跑步時

sudo su - postgres

它調用一個新的shell,由 postgres 使用者擁有。

然後,從那個殼裡你跑其他須藤:

sudo service postgres restart

不出所料,它會詢問目前系統使用者的密碼,即postgres,因為你是從屬於 postgress 的 shell 運行它的。再次強調,這並不是因為您設定或沒有設定 postgres 的密碼,也不是因為資料庫使用者 postgres,而是因為第一個指令呼叫了其 shell 的作業系統帳戶。

只需跳過第一個命令,或在使用 postgres 系統帳戶完成操作後退出該 shell。您應該使用普通管理員使用者的 sudo 來管理服務,而不是 postgres 使用者。

相關內容