溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在Postgres中創(chuàng)建一個Role并賦予權(quán)限

發(fā)布時間:2021-01-18 15:12:52 來源:億速云 閱讀:556 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)怎么在Postgres中創(chuàng)建一個Role并賦予權(quán)限,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(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;

補(bǔ)充:PostgreSql角色、用戶創(chuàng)建

1、數(shù)據(jù)庫角色

數(shù)據(jù)庫角色與操作系統(tǒng)用戶的觀念完全不同,其可以方便的維護(hù)數(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ù)庫默認(rèn)用戶

數(shù)據(jù)庫在安裝完成后會在操作系統(tǒng)以及數(shù)據(jù)庫中都建立一個默認(rèn)的用戶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默認(rèn)帶有登錄權(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;

初始化復(fù)制

CREATE ROLE name REPLICATION LOGIN;

密碼

密碼是用戶登錄數(shù)據(jù)庫的客戶端認(rèn)證方式。密碼創(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)限進(jìn)行管理。

可以用過GRANT和REVOKE操作進(jìn)行權(quán)限的賦予和回收。

GRANT group_role TO role1, ... ;
REVOKE group_role FROM role1, ... ;

以上就是怎么在Postgres中創(chuàng)建一個Role并賦予權(quán)限,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI