在 PostgreSQL 中,ALTER ROLE語句用於管理和修改角色。它可用於修改角色的名稱、角色的屬性以及更改角色的會話默認配置變量。
用法: ALTER ROLE role_name [WITH] option;
以下函數可用於 ALTER ROLE 語句:
- SUPERUSER | NOSUPERUSER -它用於確定角色是否為超級用戶。
- VALID UNTIL ‘timestamp’ -它用於指定角色密碼的到期日期和時間。
- CREATEDB | NOCREATEDB-它用於向角色提供創建新數據庫的權限。
- REPLICATION | NOREPLICATION -它用於檢查角色是否為複製角色。
- CREATEROLE | NOCREATEROLE -它用於為角色提供創建或修改角色的權限。
- PASSWORD ‘password’ | PASSWORD NULL -它用於更改角色的密碼。
- INHERIT | NOINHERIT -它用於確定繼承的角色是否具有父角色的所有繼承權限。
- BYPASSRLS | NOBYPASSRLS -它用於檢查角色是否可以繞過 row-level 安全 (RLS) 策略。
- LOGIN | NOLOGIN -顧名思義,它用於允許角色登錄。
- CONNECTION LIMIT limit -它用於設置角色可以建立的並發連接數。這裏 -1 表示角色可以創建無限數量的行。
以下是使用 ALTER ROLE 語句時必須遵循的一組規則:
- 超級用戶可以修改任何角色的屬性。
- 隻有非超級用戶和 no-replication 角色可以修改,如果角色具有 CREATE ROLE 屬性。
- 序數角色隻能更改其密碼。
例:
首先,使用 Postgres 角色登錄 PostgreSQL。
現在,使用 CREATE ROLE 語句創建一個名為“Ravi”的新角色:
create role ravi login password 'geeks12345';
現在使用以下語句將 ravi 的角色修改為超級用戶:
alter role ravi superuser;
要查看角色,請使用以下命令:
\du ravi
輸出:
相關用法
- PostgreSQL ALTER DATABASE用法及代碼示例
- PostgreSQL ALTER TABLE用法及代碼示例
- PostgreSQL ALTER SCHEMA用法及代碼示例
- PostgreSQL ALTER TRIGGER用法及代碼示例
- PostgreSQL ALTER TABLESPACE用法及代碼示例
- PostgreSQL CREATE ROLE用法及代碼示例
- PostgreSQL DROP ROLE用法及代碼示例
- PostgreSQL NOT IN用法及代碼示例
- PostgreSQL IN用法及代碼示例
注:本文由純淨天空篩選整理自RajuKumar19大神的英文原創作品 PostgreSQL – ALTER ROLE。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。