?
本文檔使用 php中文網(wǎng)手冊 發(fā)布
DROP ROLE [ IF EXISTS ] name [, ...]
DROP ROLE刪除指定的角色。要刪除一個超級用戶角色,你自己必須也是一個超級用戶; 要刪除非超級用戶角色,你必須有CREATEROLE權(quán)限。
commands can be useful for this purpose. 不能刪除仍然被集群中的任意數(shù)據(jù)庫引用的角色,如果想刪除它,會拋出一個錯誤。 在刪除一個角色之前,你必須刪除它擁有的所有對象(或者重新賦予他們新的所有者), 并且撤銷賦予該角色的任何權(quán)限。REASSIGN OWNED和DROP OWNED命令可以達(dá)到這個目的。
不過,沒有必要刪除涉及該角色的角色成員關(guān)系;DROP ROLE自動撤銷目標(biāo)角色在 任何其它角色里面的成員關(guān)系,以及其它角色在目標(biāo)角色里的成員關(guān)系。其它角色不會被刪除, 也不會受到其它影影響。
如果指定的角色不存在,那么發(fā)出一個notice而不是拋出一個錯誤。
要刪除的角色名字。
PostgreSQL包含了一個dropuser程序,有著和這個命令相同的功能(實際上,它調(diào)用這個命令), 但是它可以從命令行上運(yùn)行。
刪除一個角色:
DROP ROLE jonathan;
SQL標(biāo)準(zhǔn)定義了DROP ROLE,但它只允許每次刪除一個角色, 并且它聲明了和PostgreSQL使用的不同的權(quán)限要求。