postgresql筆記016 許可權管理

2021-10-06 18:46:00 字數 1303 閱讀 7163

許可權管理

當建立乙個資料庫物件時,他就被賦予了所有者。這個所有者通常是執行建立語句的角色。

對大多數型別的物件,初始狀態只有其所有者(或超級管理員)可以對它做任何事情。要允許其它角色使用它,必須要經過許可權授予。

在資料庫中有很多種不同的許可權:

許可權類別

中文解釋

select

查詢insert

插入update

修改delete

刪除truncate

清空表中的資料

references

建立外來鍵

trigger

觸發器相關

create

建立表connect

常用與connect by

temporary

臨時表(temporary table)

execute

execute – 執行乙個預備語句

usage

修改或者刪除乙個物件的許可權永遠是所有者獨有的許可權。

乙個物件可以用alter命令以適當的物件型別賦予新的所有者,例如alter table。超級使用者總是可以這樣做;

普通使用者只有在他同時是當前物件的所有者和新所有者角色的成員時可以這樣做。

使用grant命令賦予許可權。

例如,如果stt是乙個已經存在的使用者,而accounts是乙個已經存在的表,更新標的許可權可以用下面的命令賦予:

grant update on accounts to stt;
在許可權的位置寫上all則賦予所有與該物件型別相關的許可權。

名為public 的特殊使用者可以用於將許可權賦予系統中的所有使用者。另外,還可以使用組,角色來幫助管理一群使用者的許可權。

使用revoke命令可以撤銷許可權:

revoke

allon accounts from

public

;

物件所有者的特殊許可權(也就是drop,grant,revoke等許可權)總是隱含地資料所有者,並且不能賦予或者撤銷。

但是物件所有者可以選擇撤銷自己的普通許可權,比如把乙個表做成對自己和別人都是唯讀的。

最初,只有物件所有者(或者超級使用者)可以賦值或者撤銷物件的許可權。

但是,我們可以賦予乙個with grant option 許可權,這樣就允許接受許可權的人將該許可權轉授他人。

如果授權選項後來別撤銷,那麼所有那些從這個接受者接受了許可權的使用者(直接或間接)都將失去該許可權。

C 筆記016 const 基礎

點選 關注 關注也是一種美德 筆記十六關於const關鍵字,在c語言和c 中const的表現是不同的。先看一下const基礎知識。對const的初級理解 const是定義常量,const意味著唯讀。掌握const最基本的關鍵點是 指標變數和它所指向的記憶體空間變數是兩個不同的概念,看const是修飾...

演算法筆記 016 凸包問題(Java)

1 問題描述 2 解決方案2.1 蠻力法 給定乙個平面上n個點的集合,它的凸包就是包含所有這些點的最小凸多邊形,求取滿足此條件的所有點。另外,形象生動的描述 1 我們可以把這個問題看作如何用長度最短的柵欄把n頭熟睡的老虎圍起來。2 也可以這樣看 請把所討論的點想象成釘在膠合板上的釘子,膠合板代表平面...

演算法筆記 016 凸包問題(Java)

1 問題描述 2 解決方案2.1 蠻力法 給定乙個平面上n個點的集合,它的凸包就是包含所有這些點的最小凸多邊形,求取滿足此條件的所有點。另外,形象生動的描述 1 我們可以把這個問題看作如何用長度最短的柵欄把n頭熟睡的老虎圍起來。2 也可以這樣看 請把所討論的點想象成釘在膠合板上的釘子,膠合板代表平面...