2016-11-17 39 views
0

我試圖刪除用戶表單紅移刪除用戶,但它總是失敗,出現相同的消息無法從紅移

用戶「XXX」,因爲用戶對某些 對象特權不能被丟棄;

繼上谷歌搜索,我發現,我需要撤銷用戶的權限,所以我跑幾個吊銷查詢,但我還是失敗了同樣的信息:

的疑問,我跑:

revoke all on schema YYY from XXX; 
revoke usage on schema ZZZ from XXX; 
revoke all on database LLL from XXX; 

任何想法,爲什麼我仍然得到這個失敗的消息?

+1

嘗試級聯選項看到撤銷得到傳播 – kadalamittai

+0

@ kadalamittai - 謝謝,但它沒有幫助。我仍然收到相同的消息 – folky

+0

在https://dba.stackexchange.com/questions/143938/drop-user-in-redshift-which-has-privilege-on-some-object –

回答

1

請在下面部署從GitHub 「v_get_obj_priv_by_user」 視圖 鏈接:https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_get_obj_priv_by_user.sql

一旦這樣做,請按照下面的步驟

1)A_user ---網友認爲有下降

B_user ---舊錶的所有權需要映射到此用戶。

如果你想改變所有表的所有者屬於A_user,然後

選擇SCHEMANAME,表名從pg_tables其中表所有者像「A_user」;

對於上面表中檢索運行

ALTER TABLE schemaname.tablename所有者B_user;

2)撤消所有圖式,其中A_user具有一些特權

選擇從admin.v_get_obj_priv_by_user不同SCHEMANAME其中USENAME像 'A_user';

對於上面表中檢索運行

撤銷所有來自A_user架構XXXX;

3)撤消所有的表上,其中A_user具有一些特權

選擇不同的表從admin.v_get_obj_priv_by_user其中USENAME像 'A_user';

對於上面表中檢索運行

撤銷所有對從A_user架構XXXX所有表;

4)刪除用戶的用戶名;

**如果一個羣集中有兩個數據庫,請對兩個數據庫都執行此操作。