PostgreSQL簡介
PostgreSQL是一種特性非常齊全的自由軟件的對象-關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(ORDBMS),是以加州大學計算機系開發(fā)的POSTGRES,4.2版本為基礎(chǔ)的對象關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。POSTGRES的許多領(lǐng)先概念只是在比較遲的時候才出現(xiàn)在商業(yè)網(wǎng)站數(shù)據(jù)庫中。PostgreSQL支持大部分的SQL標準并且提供了很多其他現(xiàn)代特性,如復雜查詢、外鍵、觸發(fā)器、視圖、事務完整性、多版本并發(fā)控制等。同樣,PostgreSQL也可以用許多方法擴展,例如通過增加新的數(shù)據(jù)類型、函數(shù)、操作符、聚集函數(shù)、索引方法、過程語言等。另外,因為許可證的靈活,任何人都可以以任何目的免費使用、修改和分發(fā)PostgreSQL。
主要特點
PostgreSQL 的 主要優(yōu)點如下:
1)維護者是PostgreSQL Global Development Group,首次發(fā)布于1989年6月。
2)操作系統(tǒng)支持WINDOWS、Linux、UNIX、MAC OS X、BSD。
3)從基本功能上來看,支持ACID、關(guān)聯(lián)完整性、數(shù)據(jù)庫事務、Unicode多國語言。
4)表和視圖方面,PostgreSQL支持臨時表,而物化視圖,可以使用PL/pgSQL、PL/Perl、PL/Python或其他過程語言的存儲過程和觸發(fā)器模擬。
5)索引方面,全面支持R-/R+tree索引、哈希索引、反向索引、部分索引、Expression 索引、GiST、GIN(用來加速全文檢索),從8.3版本開始支持位圖索引。
6)其他對象上,支持數(shù)據(jù)域,支持存儲過程、觸發(fā)器、函數(shù)、外部調(diào)用、游標7)數(shù)據(jù)表分區(qū)方面,支持4種分區(qū),即范圍、哈希、混合、列表。
8)從事務的支持度上看,對事務的支持與MySQL相比,經(jīng)歷了更為徹底的測試。
9)My ISAM表處理方式方面,MySQL對于無事務的MyISAM表,采用表鎖定,1個長時間運行的查詢很可能會阻礙對表的更新,而PostgreSQL不存在這樣的問題。
10)從存儲過程上看,PostgreSQL支持存儲過程。因為存儲過程的存在也避免了在網(wǎng)絡上大量原始的SQL語句的傳輸,這樣的優(yōu)勢是顯而易見的。
11)用戶定義函數(shù)的擴展方面,PostgreSQL可以更方便地使用UDF(用戶定義函數(shù))進行擴展。
PostgreSQL 的 應用劣勢如下:
1)最新版本和歷史版本不分離存儲,導致清理老舊版本時需要做更多的掃描,代價比較大但一般的數(shù)據(jù)庫都有高峰期,如果合理安排VACUUM,這也不是很大的問題,而且在PostgreSQL9.0中VACUUM進一步被加強了。
2)在PostgreSQL中,由于索引完全沒有版本信息,不能實現(xiàn)Coverage index scan,即查詢只掃描索引,不能直接從索引中返回所需的屬性,還需要訪問表,而Oracle與Innodb則可以。
下面通過本文給大家介紹使用pg數(shù)據(jù)庫可以通過如下方法查詢用戶的系統(tǒng)權(quán)限和對象權(quán)限。
1、查看某用戶的系統(tǒng)權(quán)限
SELECT * FROM pg_roles WHERE rolname='postgres';
2、查看某用戶的表權(quán)限
select * from information_schema.table_privileges where grantee='postgres';
3、查看某用戶的usage權(quán)限
select * from information_schema.usage_privileges where grantee='postgres';
4、查看某用戶在存儲過程函數(shù)的執(zhí)行權(quán)限
select * from information_schema.routine_privileges where grantee='postgres';
5、查看某用戶在某表的列上的權(quán)限
select * from information_schema.column_privileges where grantee='postgres';
6、查看當前用戶能夠訪問的數(shù)據(jù)類型
select * from information_schema.data_type_privileges ;
7、查看用戶自定義類型上授予的USAGE權(quán)限
select * from information_schema.udt_privileges where grantee='postgres';
到此這篇關(guān)于查看postgresql數(shù)據(jù)庫用戶系統(tǒng)權(quán)限、對象權(quán)限的方法的文章就介紹到這了,更多相關(guān)postgresql數(shù)據(jù)庫用戶系統(tǒng)權(quán)限、對象權(quán)限內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 基于PostgreSQL 權(quán)限解讀
- PostgreSQL 默認權(quán)限查看方式
- Postgresql 賦予用戶權(quán)限和撤銷權(quán)限的實例
- PostgreSQL教程(十二):角色和權(quán)限管理介紹
- 用一整天的時間安裝postgreSQL NTFS權(quán)限
- Postgresql 數(shù)據(jù)庫權(quán)限功能的使用總結(jié)