2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不受支援的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1

52.8. pg_authid #

目錄 pg_authid 包含有關資料庫授權識別符號(角色)的資訊。一個角色涵蓋了“使用者”和“”的概念。使用者本質上就是一個設定了 rolcanlogin 標誌的角色。任何角色(無論是否設定 rolcanlogin)都可以擁有其他角色作為成員;請參閱 pg_auth_members

由於此目錄包含密碼,因此不能公開讀取。 pg_roles 是一個對 pg_authid 的公開可讀檢視,該檢視將密碼欄位置為空。

第 21 章 包含有關使用者和許可權管理的詳細資訊。

由於使用者身份是叢集範圍內的,因此 pg_authid 在叢集的所有資料庫之間共享:每個叢集只有一個 pg_authid 副本,而不是每個資料庫一個。

表 52.8. pg_authid

列 型別

描述

oid oid

行識別符號

rolname name

角色名稱

rolsuper bool

角色擁有超級使用者許可權

rolinherit bool

角色自動繼承其成員角色的許可權

rolcreaterole bool

角色可以建立更多角色

rolcreatedb bool

角色可以建立資料庫

rolcanlogin bool

角色可以登入。也就是說,此角色可以作為初始會話授權識別符號給出。

rolreplication bool

角色是複製角色。複製角色可以發起複製連線,以及建立和刪除複製槽。

rolbypassrls bool

角色繞過所有行級安全策略,有關更多資訊,請參閱 第 5.9 節

rolconnlimit int4

對於可以登入的角色,此項設定該角色可以建立的併發連線的最大數量。-1 表示無限制。

rolpassword text

加密後的密碼;如果沒有則為 null。格式取決於所使用的加密形式。

rolvaliduntil timestamptz

密碼過期時間(僅用於密碼身份驗證);如果沒有過期時間則為 null


對於 MD5 加密的密碼,rolpassword 列將以字串 md5 開頭,後跟一個 32 個字元的十六進位制 MD5 雜湊。MD5 雜湊將是使用者密碼與其使用者名稱拼接後的結果。例如,如果使用者 joe 的密碼是 xyzzyPostgreSQL 將儲存 xyzzyjoe 的 md5 雜湊。

警告

MD5 加密密碼的支援已棄用,將在 PostgreSQL 的未來版本中移除。有關遷移到其他密碼型別的詳細資訊,請參閱第 20.5 節

如果密碼使用 SCRAM-SHA-256 加密,其格式為

SCRAM-SHA-256$<iteration count>:<salt>$<StoredKey>:<ServerKey>

其中 saltStoredKeyServerKey 為 Base64 編碼格式。此格式與 RFC 5803 中指定的格式相同。

提交更正

如果您在文件中發現任何不正確之處、與您在使用特定功能時的實際體驗不符之處,或者需要進一步說明之處,請使用 此表單 來報告文件問題。