2015-06-14 36 views
0

我在我的服務器上設置了postgres數據庫,使用postgres(PEER方法)登錄,創建了另一個用戶,並且希望爲新用戶設置加密密碼。設置加密的postgres密碼而不輸入爲SQL

最教程,我覺得說,你可以更改密碼:

ALTER USER other_user WITH ENCRYPTED PASSWORD 'passwd'; 

但它並沒有真正感覺非常好,輸入密碼明確到SQL控制檯。它被保存在歷史中,每個人都可以看到它。

這真的是在postgres中設置密碼的正確方法嗎?

+0

不是每個人,只有你願意允許超級用戶訪問的人。如果你有一大羣用超級用戶訪問登錄的人,那麼你有更大的問題,這個問題。 –

+0

呵呵,是的,你是對的,沒有人可以訪問它。在歷史中以純文本保存它並不合適。 – user1383029

回答

1

我在我家〜/ .pgpass:

localhost:5432:*:postgres:123456 

和查詢文件password.txt:

ALTER USER other_user WITH ENCRYPTED PASSWORD 'passwd'; 

並運行此命令:

psql -U useradmin -h localhost -w -a -E -f password.txt 

記住:

rm .psql_history 
+1

好吧,好主意,這個工程,但它確實不切實際 – user1383029

+0

如果你是管理員?您可以設置密碼,作爲管理員。沒有人能看到你的歷史。 – bashman