查看postgresql數據庫用戶系統權限、對象權限的方法

PostgreSQL簡介

PostgreSQL是一種特性非常齊全的自由軟件的對象-關系型數據庫管理系統(ORDBMS),是以加州大學計算機系開發的POSTGRES,4.2版本為基礎的對象關系型數據庫管理系統。POSTGRES的許多領先概念隻是在比較遲的時候才出現在商業網站數據庫中。PostgreSQL支持大部分的SQL標準並且提供瞭很多其他現代特性,如復雜查詢、外鍵、觸發器、視圖、事務完整性、多版本並發控制等。同樣,PostgreSQL也可以用許多方法擴展,例如通過增加新的數據類型、函數、操作符、聚集函數、索引方法、過程語言等。另外,因為許可證的靈活,任何人都可以以任何目的免費使用、修改和分發PostgreSQL。

主要特點

PostgreSQL 的 主要優點如下:

1)維護者是PostgreSQL Global Development Group,首次發佈於1989年6月。
2)操作系統支持WINDOWS、Linux、UNIX、MAC OS X、BSD。
3)從基本功能上來看,支持ACID、關聯完整性、數據庫事務、Unicode多國語言。
4)表和視圖方面,PostgreSQL支持臨時表,而物化視圖,可以使用PL/pgSQL、PL/Perl、PL/Python或其他過程語言的存儲過程和觸發器模擬。
5)索引方面,全面支持R-/R+tree索引、哈希索引、反向索引、部分索引、Expression 索引、GiST、GIN(用來加速全文檢索),從8.3版本開始支持位圖索引。
6)其他對象上,支持數據域,支持存儲過程、觸發器、函數、外部調用、遊標7)數據表分區方面,支持4種分區,即范圍、哈希、混合、列表。
8)從事務的支持度上看,對事務的支持與MySQL相比,經歷瞭更為徹底的測試。
9)My ISAM表處理方式方面,MySQL對於無事務的MyISAM表,采用表鎖定,1個長時間運行的查詢很可能會阻礙對表的更新,而PostgreSQL不存在這樣的問題。
10)從存儲過程上看,PostgreSQL支持存儲過程。因為存儲過程的存在也避免瞭在網絡上大量原始的SQL語句的傳輸,這樣的優勢是顯而易見的。
11)用戶定義函數的擴展方面,PostgreSQL可以更方便地使用UDF(用戶定義函數)進行擴展。

PostgreSQL 的 應用劣勢如下:

1)最新版本和歷史版本不分離存儲,導致清理老舊版本時需要做更多的掃描,代價比較大但一般的數據庫都有高峰期,如果合理安排VACUUM,這也不是很大的問題,而且在PostgreSQL9.0中VACUUM進一步被加強瞭。
2)在PostgreSQL中,由於索引完全沒有版本信息,不能實現Coverage index scan,即查詢隻掃描索引,不能直接從索引中返回所需的屬性,還需要訪問表,而Oracle與Innodb則可以。

下面通過本文給大傢介紹使用pg數據庫可以通過如下方法查詢用戶的系統權限和對象權限。

1、查看某用戶的系統權限

SELECT * FROM pg_roles WHERE rolname='postgres';

2、查看某用戶的表權限

select * from information_schema.table_privileges where grantee='postgres';

3、查看某用戶的usage權限

select * from information_schema.usage_privileges where grantee='postgres';

4、查看某用戶在存儲過程函數的執行權限

select * from information_schema.routine_privileges where grantee='postgres'; 

5、查看某用戶在某表的列上的權限

select * from information_schema.column_privileges where grantee='postgres'; 

6、查看當前用戶能夠訪問的數據類型

select * from information_schema.data_type_privileges ; 

7、查看用戶自定義類型上授予的USAGE權限

select * from information_schema.udt_privileges where grantee='postgres';

到此這篇關於查看postgresql數據庫用戶系統權限、對象權限的方法的文章就介紹到這瞭,更多相關postgresql數據庫用戶系統權限、對象權限內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: