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;
補(bǔ)充:PostgreSql角色、用戶(hù)創(chuàng)建
1、數(shù)據(jù)庫(kù)角色
數(shù)據(jù)庫(kù)角色與操作系統(tǒng)用戶(hù)的觀(guān)念完全不同,其可以方便的維護(hù)數(shù)據(jù)庫(kù),但不是必須的。
創(chuàng)建數(shù)據(jù)庫(kù)角色
CREATE ROLE name;
刪除存在的角色
DROP ROLE name;
創(chuàng)建和刪除用戶(hù)
CREATE USER name; dropuser name;
檢查存在的數(shù)據(jù)庫(kù)角色
SELECT rolname FROM pg_roles;
\du #用這個(gè)命令也可以查看
數(shù)據(jù)庫(kù)默認(rèn)用戶(hù)
數(shù)據(jù)庫(kù)在安裝完成后會(huì)在操作系統(tǒng)以及數(shù)據(jù)庫(kù)中都建立一個(gè)默認(rèn)的用戶(hù)postgres,這個(gè)角色是“超級(jí)用戶(hù)”,想使用數(shù)據(jù)庫(kù)的更多功能,必須先用這個(gè)用戶(hù)連接數(shù)據(jù)庫(kù)。
數(shù)據(jù)庫(kù)連接命令
psql -U name;
2、數(shù)據(jù)庫(kù)角色屬性
數(shù)據(jù)庫(kù)角色有大量的屬性,這些屬性定義了角色的數(shù)據(jù)庫(kù)登錄以及操作權(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ù)庫(kù)權(quán)限,命令二選一
CREATE ROLE name LOGIN; CREATE USER name;
CREATE USER 和CREATE ROLE幾乎相同,除了CREATE USER默認(rèn)帶有登錄權(quán)限,CREATE ROLE沒(méi)有。
超級(jí)用戶(hù)
超級(jí)用戶(hù)擁有數(shù)據(jù)庫(kù)的所有權(quán)限,必須小心超級(jí)用戶(hù)的權(quán)限賦予,命令如下
CREATE ROLE name SUPERUSER;
創(chuàng)建數(shù)據(jù)庫(kù)權(quán)限
CREATE ROLE name CREATEDB;
創(chuàng)建角色權(quán)限
CREATE ROLE name CREATEROLE;
初始化復(fù)制
CREATE ROLE name REPLICATION LOGIN;
密碼
密碼是用戶(hù)登錄數(shù)據(jù)庫(kù)的客戶(hù)端認(rèn)證方式。密碼創(chuàng)建后采用md5加密算法加密。
CREATE ROLE name PASSWORD 'string';
更改權(quán)限
ALTER ROLE name SET enable_indexscan TO off;
3、角色組
角色組類(lèi)似于操作系統(tǒng)的組權(quán)限,可以非常方便的對(duì)組內(nèi)成員的權(quán)限進(jìn)行管理。
可以用過(guò)GRANT和REVOKE操作進(jìn)行權(quán)限的賦予和回收。
GRANT group_role TO role1, ... ; REVOKE group_role FROM role1, ... ;
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
PostgreSQL物理備份恢復(fù)之 pg_rman的用法說(shuō)明
這篇文章主要介紹了PostgreSQL物理備份恢復(fù)之 pg_rman的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02
postgresql 中的COALESCE()函數(shù)使用小技巧
這篇文章主要介紹了postgresql 中的COALESCE()函數(shù)使用小技巧,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
PostgreSQL數(shù)據(jù)庫(kù)儲(chǔ)存空間不足的解決方案
在使用 PostgreSQL 數(shù)據(jù)庫(kù)時(shí),可能會(huì)遇到存儲(chǔ)空間不足的問(wèn)題,這個(gè)問(wèn)題不僅會(huì)影響數(shù)據(jù)庫(kù)的正常運(yùn)行,還可能導(dǎo)致數(shù)據(jù)丟失或應(yīng)用程序出現(xiàn)故障,因此,了解如何應(yīng)對(duì)這種情況至關(guān)重要,所以本文給大家就介紹了PostgreSQL數(shù)據(jù)庫(kù)儲(chǔ)存空間不足的解決方案,需要的朋友可以參考下2024-07-07
postgresql實(shí)現(xiàn)對(duì)已有數(shù)據(jù)表分區(qū)處理的操作詳解
這篇文章主要為大家詳細(xì)介紹了postgresql實(shí)現(xiàn)對(duì)已有數(shù)據(jù)表分區(qū)處理的操作的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12
Postgresql開(kāi)啟SQL執(zhí)行語(yǔ)句收集過(guò)程
本文介紹如何修改PostgreSQL的配置文件來(lái)啟用SQL執(zhí)行語(yǔ)句的日志記錄,包括打開(kāi)配置文件、修改日志相關(guān)設(shè)置以及查看日志文件的方法,關(guān)鍵步驟包括刪除注釋符號(hào)、設(shè)定日志存儲(chǔ)路徑和文件名、選擇記錄的SQL語(yǔ)句類(lèi)型,此操作有助于數(shù)據(jù)庫(kù)管理和問(wèn)題調(diào)試2024-10-10
PostgreSQL長(zhǎng)事務(wù)與失效的索引查詢(xún)淺析介紹
pg中的長(zhǎng)事務(wù)會(huì)影響表中垃圾回收,導(dǎo)致表的年齡增長(zhǎng)無(wú)法freeze。能消耗事務(wù)的只有當(dāng)執(zhí)行了一些DML或者DDL操作后才能算是我們通常說(shuō)的長(zhǎng)事務(wù)。否則只能算是我們常說(shuō)的長(zhǎng)連接,當(dāng)然長(zhǎng)連接也有很多弊端,例如占用內(nèi)存、cpu等資源2022-09-09
postgresql 計(jì)算時(shí)間差的秒數(shù)、天數(shù)實(shí)例
這篇文章主要介紹了postgresql 計(jì)算時(shí)間差的秒數(shù)、天數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12

