如何在PostgreSQL中將密碼設置為默認用戶
PostgreSQL通常被稱為Postgres,是一個對象關係數據庫管理系統,強調靈活性和標準合規性。
在開始之前,我認為至關重要的是要解釋,對於幾乎所有的Unix發行版,默認的Postgres用戶既不需要使用密碼也不需要密碼進行身份驗證。或者,默認的身份驗證操作是ident或peer,但是它會根據您的計算機上首次安裝Postgres的方式以及運行的版本而有所不同。
身份驗證通過使用操作系統自己的運行在TCP端口113上的身份驗證服務器來驗證用戶的登錄憑據來工作。另一方面,對等驗證僅用於本地連接和身份驗證,即登錄的OS用戶名與Postgres數據庫中的用戶名匹配。
以默認用戶身份登錄
在幾乎所有系統中,標準的Postgres用戶都是“ postgres”,他們根本不需要密碼即可進行驗證。因此,為了在PostgreSQL中為默認用戶添加密碼,我們需要首先登錄並以“ postgres”用戶身份進行連接。
如果您成功嘗試以“ postgres”的身份連接並且看到psql提示符,則下一步是轉到“更改密碼”部分。您可能會收到一條錯誤消息,指出數據庫“ postgres”不存在,如果發生這種情況,請嘗試連接到template1數據庫,如果可行,請繼續更改密碼。
另外,嘗試連接到psqlclient時可能會收到身份驗證錯誤,在這種情況下,您可能必須修改Postgres身份驗證配置文件(pg_hfa.conf)。輸入配置文件(通常在/etc/postgresql/#.#/main/pg_hba.conf中找到,其中#。#是您正在使用的當前Postgres版本)。身份驗證配置文件基本上是身份驗證參數的列表。
您必須關閉文件,直到在第三列中找到顯示postgres用戶的第一行。如果需要,請刪除分號,或者如果該行完全丟失,請添加分號,然後將此行添加到“ local all postgres peer”文件的頂部並保存文件。這個簡單的修改將指示Postgres,對於建立到用戶“ postgres”的所有本地連接以及所有數據庫(如果您不記得,則為您),它必須使用對等協議進行驗證。
請記住,較舊的Postgres版本可能更喜歡默認的ident驗證方法,但對於當前版本,它將使用上述的peer。
在完成配置文件的配置並對其進行了正確的修改之後,請重複我在本文開頭介紹的步驟,以默認的postgres用戶身份進行連接。如果可以,則可以繼續更改密碼。
如何更改默認密碼
如果您成功管理了psql提示符下與Postgres的穩定連接,那麼現在該更改密碼了。使用ALTER USER命令修改密碼。如果可行,Postgres將顯示如上所示的ALTER ROLE文本。
確認文本如下所示: “ postgres =#ALTER USER postgres PASSWORD'myPassword'; ALTER ROLE”
完成後,您可以使用\ q命令離開psql客戶端。