Postgresql

PostgreSQL:刪除使用者 postgres 的密碼要求

  • April 21, 2021

我知道,安裝後,PostgreSQL 的 db root 使用者(postgres)沒有密碼:

postgres=# select usename, passwd is null from pg_shadow;
usename  | ?column? 
----------+----------
postgres | t
(1 row)

…建議將其設置為:

alter role postgres password '<<very-secret>>';

(然後pg_hba.conf相應地更新文件)

我的問題是:當 user 不需要密碼時,用於恢復到以前情況的 SQL 是什麼postgres

一般來說,我怎樣才能刪除任何角色的密碼要求?我不是在問如何更改密碼,而是在問如何刪除密碼要求(表中的空passwdpg_shadow)。

pg_shadow是否需要密碼與是否為使用者實際定義了密碼無關。是的,我知道,這很奇怪。

pg_hba.conf控制身份驗證方法。如果要請求密碼,請使用md5身份驗證。如果您想允許任何人無需密碼即可登錄,請使用trust. 如果您想在作業系統中要求與 PostgreSQL 中相同的使用者名,請使用peer(UNIX,僅用於本地連接) 或sspi(Windows)。

如果設置了密碼,但pg_hba.conf沒有告訴 PostgreSQL 要求它,則密碼將被忽略。

如果pg_hba.conf告訴 PostgreSQL 要求輸入密碼但沒有設置密碼,那麼無論提供什麼密碼,所有登錄嘗試都將失敗。

引用自:https://dba.stackexchange.com/questions/83164