支援的版本:目前 (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

51.8. pg_authid #

目錄 pg_authid 包含關於資料庫授權識別碼(角色)的資訊。角色包含了 使用者群組 的概念。使用者本質上只是一個具有 rolcanlogin 標誌設定的角色。任何角色(無論是否具有 rolcanlogin)都可以將其他角色作為成員;請參閱 pg_auth_members

由於此目錄包含密碼,因此它不得公開讀取。pg_rolespg_authid 上的一個公開可讀視圖,它會將密碼欄位留空。

第 21 章 包含關於使用者和權限管理的詳細資訊。

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

表 51.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 的密碼為 xyzzy,則 PostgreSQL 將儲存 xyzzyjoe 的 md5 雜湊值。

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

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

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

不符合上述任一格式的密碼將被視為未加密。

提交更正

如果您在文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步澄清的地方,請使用此表單來報告文件問題。