您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關PostgreSQL 中怎么實現用戶和權限管理,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
創建用戶
CREATE ROLE rolename; CREATE USER username; 注:CREATE USER和CREATE ROLE的區別在于,CREATE USER指令創建的用戶默認是有登錄權限的,而CREATE ROLE沒有。
創建用戶時設定用戶權限屬性
基本語法格式 CREATE ROLE role_name WITH optional_permissions;
示例:在創建用戶時設定登錄權限。 CREATE ROLE username WITH LOGIN; 注:可以通過\h CREATE ROLE指令查看全部可設置的管理權限
修改用戶權限屬性
修改權限的命令格式 ALTER ROLE username WITH attribute_options;
例如:可通過以下方式禁止用戶登錄 ALTER ROLE username WITH NOLOGIN;
設置訪問權限
語法格式如下: GRANT permission_type ON table_name TO role_name;
示例: GRANT UPDATE ON demo TO demo_role; --賦予demo_role demo表的update權限 GRANT SELECT ON ALL TABLES IN SCHEMA PUBLIC to demo_role; --賦予demo_role所有表的SELECT權限 特殊符號:ALL代表所訪問權限,PUBLIC代表所有用戶 GRANT ALL ON demo TO demo_role; --賦給用戶所有權限 GRANT SELECT ON demo TO PUBLIC; --將SELECT權限賦給所有用戶 注:\z或\dp指令顯示用戶訪問權限。 \h GRANT顯示所有可設置的訪問權限
撤銷用戶訪問權限
語法格式如下: REVOKE permission_type ON table_name FROM user_name; 其中permission_type和table_name含義與GRANT指令中相同。
用戶組 在postgres中用戶實際上是role,同時組也是role。 包含其他role的role就是組。
創建組 示例: CREATE ROLE temporary_users; GRANT temporary_users TO demo_role; GRANT temporary_users TO test_user;
切換ROLE SET ROLE role_name; --切換到role_name用戶 RESET ROLE; --切換回最初的role
INHERIT權限:該屬性使組成員擁有組的所有權限 ALTER ROLE test_user INHERIT;
刪除用戶和組
刪除用戶和組很簡單:
DROP ROLE role_name; DROP ROLE IF EXISTS role_name;
看完上述內容,你們對PostgreSQL 中怎么實現用戶和權限管理有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。