Postgres 創(chuàng)建Role并賦予權(quán)限的操作
創(chuàng)建Role
CREATE USER <role_name> PASSWORD '<role_password>';
賦予權(quán)限
賦予database所有權(quán)限
GRANT ALL ON DATABASE <db_name> TO <role_name>;
賦予只讀權(quán)限 (不能再db level直接賦予SELECT權(quán)限)
GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <role_name>;
查看權(quán)限
SELECT * FROM information_schema.role_table_grants;
補充:PostgreSql角色、用戶創(chuàng)建
1、數(shù)據(jù)庫角色
數(shù)據(jù)庫角色與操作系統(tǒng)用戶的觀念完全不同,其可以方便的維護數(shù)據(jù)庫,但不是必須的。
創(chuàng)建數(shù)據(jù)庫角色
CREATE ROLE name;
刪除存在的角色
DROP ROLE name;
創(chuàng)建和刪除用戶
CREATE USER name; dropuser name;
檢查存在的數(shù)據(jù)庫角色
SELECT rolname FROM pg_roles;
\du #用這個命令也可以查看
數(shù)據(jù)庫默認用戶
數(shù)據(jù)庫在安裝完成后會在操作系統(tǒng)以及數(shù)據(jù)庫中都建立一個默認的用戶postgres,這個角色是“超級用戶”,想使用數(shù)據(jù)庫的更多功能,必須先用這個用戶連接數(shù)據(jù)庫。
數(shù)據(jù)庫連接命令
psql -U name;
2、數(shù)據(jù)庫角色屬性
數(shù)據(jù)庫角色有大量的屬性,這些屬性定義了角色的數(shù)據(jù)庫登錄以及操作權(quán)限。
CREATE ROLE name [ [ WITH ] option [ ... ] ] where option can be: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | CREATEUSER | NOCREATEUSER | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | CONNECTION LIMIT connlimit | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'timestamp' | IN ROLE role_name [, ...] | IN GROUP role_name [, ...] | ROLE role_name [, ...] | ADMIN role_name [, ...] | USER role_name [, ...] | SYSID uid
登錄權(quán)限
LOGIN屬性用于賦予角色擁有連接數(shù)據(jù)庫權(quán)限,命令二選一
CREATE ROLE name LOGIN; CREATE USER name;
CREATE USER 和CREATE ROLE幾乎相同,除了CREATE USER默認帶有登錄權(quán)限,CREATE ROLE沒有。
超級用戶
超級用戶擁有數(shù)據(jù)庫的所有權(quán)限,必須小心超級用戶的權(quán)限賦予,命令如下
CREATE ROLE name SUPERUSER;
創(chuàng)建數(shù)據(jù)庫權(quán)限
CREATE ROLE name CREATEDB;
創(chuàng)建角色權(quán)限
CREATE ROLE name CREATEROLE;
初始化復制
CREATE ROLE name REPLICATION LOGIN;
密碼
密碼是用戶登錄數(shù)據(jù)庫的客戶端認證方式。密碼創(chuàng)建后采用md5加密算法加密。
CREATE ROLE name PASSWORD 'string';
更改權(quán)限
ALTER ROLE name SET enable_indexscan TO off;
3、角色組
角色組類似于操作系統(tǒng)的組權(quán)限,可以非常方便的對組內(nèi)成員的權(quán)限進行管理。
可以用過GRANT和REVOKE操作進行權(quán)限的賦予和回收。
GRANT group_role TO role1, ... ; REVOKE group_role FROM role1, ... ;
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
關于PostgreSql數(shù)據(jù)庫與mysql數(shù)據(jù)庫的不同點以及注意事項
PostgreSQL和MySQL是兩種流行的關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),它們都可以用來存儲和管理數(shù)據(jù),但是它們在某些方面有所不同,下面這篇文章主要給大家介紹了關于PostgreSql數(shù)據(jù)庫與mysql數(shù)據(jù)庫的不同點以及注意事項的相關資料,需要的朋友可以參考下2023-05-05postgresql 查詢集合結(jié)果用逗號分隔返回字符串處理的操作
這篇文章主要介紹了postgresql 查詢集合結(jié)果用逗號分隔返回字符串處理的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02PostgreSql生產(chǎn)級別數(shù)據(jù)庫安裝要注意事項
這篇文章主要介紹了PostgreSql生產(chǎn)級別數(shù)據(jù)庫安裝要注意事項,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08PostgreSQL向數(shù)據(jù)庫表中添加行數(shù)據(jù)的操作
這篇文章主要介紹了PostgreSQL向數(shù)據(jù)庫表中添加行數(shù)據(jù)的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02PostgreSql 的hash_code函數(shù)的用法說明
這篇文章主要介紹了PostgreSql 的hash_code函數(shù)的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02