PostgreSQL中是否有一個用於刪除特定角色擁有的所有視圖和函數的命令?我不明白所有的內部表如何連接在一起,以便我可以創建這樣的命令。PostgreSQL命令用於刪除角色所擁有的所有視圖和函數?
0
A
回答
1
下降的觀點:
create function drop_views_by_owner(owner regrole, do_drop boolean default true)
returns setof text language plpgsql as $$
declare r text;
begin
for r in
select format('%s.%s', nspname, relname)
from pg_class c
join pg_namespace n on n.oid = relnamespace
where c.relowner = $1
and relkind = 'v'
loop
if do_drop then
execute format('drop view %s', r);
end if;
return next r;
end loop;
end $$;
刪除功能:
create function drop_functions_by_owner(owner regrole, do_drop boolean default true)
returns setof text language plpgsql as $$
declare r text;
begin
for r in
select format('%s.%s(%s)',
nspname, proname, pg_get_function_identity_arguments(p.oid))
from pg_proc p
join pg_namespace n on n.oid = pronamespace
where p.proowner = $1
loop
if do_drop then
execute format('drop function %s', r);
end if;
return next r;
end loop;
end $$;
如果第二個參數是false
功能不下降的對象:
select drop_views_by_owner('newuser'); -- list views and drop them
select drop_views_by_owner('newuser', false); -- only list views
select drop_functions_by_owner('newuser'); -- list functions and drop them
select drop_functions_by_owner('newuser', false); -- only list functions
0
如果用戶只擁有意見和功能,你可以簡單地:
DROP OWNED BY your_role;
您必須爲羣集中您用戶擁有對象的每個數據庫執行此操作。
您可能會發現這個文檔有用:https://www.postgresql.org/docs/current/static/role-removal.html
相關問題
- 1. 刪除postgreSql中的所有視圖
- 2. 刪除所有ClearCase視圖 - 私有文件的命令行
- 3. 刪除所有視圖postgres
- 4. postgresql:刪除所有鎖
- 5. Django PostgreSQL - 刪除所有表?
- 6. Django postgresql刪除所有表和syncdb
- 7. 如何刪除所有命令
- 8. 用於刪除所有文件的Linux命令
- 9. DROP所有視圖PostgreSQL
- 10. 試圖刪除擁有所有者的WinSCP上的文件Apache
- 11. 刪除dealloc中的所有子視圖?
- 12. 命令刪除所有kubernetes命名空間中的所有豆莢
- 13. 認證後沒有從所有的視圖中刪除視圖
- 14. Backbone.js - 刪除所有子視圖
- 15. 從UIScrollView中刪除所有子視圖?
- 16. 從視圖中刪除所有UIButtons?
- 17. 如何刪除Kohana中的所有用戶角色3
- 18. 所有數據有刪除
- 19. 從PostgreSQL刪除所有內容
- 20. 如何刪除子視圖(或視圖的所有子視圖)
- 21. Postgres:刪除屬於特定角色的所有表(或強制刪除角色,忽略依賴對象)
- 22. 刪除所有TFS構建的命令行參數?
- 23. PyCharm:所有用於調試的命令都是灰色的
- 24. PostgreSQL的:清除所有表
- 25. 禁用所有命令重新映射所有命令
- 26. 從用戶刪除所有角色MVC 5
- 27. Prolog刪除所有重複函數
- 28. 刪除所有PostgreSQL用戶/徹底刪除
- 29. Powershell命令刪除/替換所有文件和文件夾上的訪問權限/擁有者權限
- 30. JQuery函數適用於所有類並刪除父div
謝謝你的努力,但我真的找/希望PostgreSQL的命令。 – William