Postgresql資料庫介紹

2021-10-24 09:16:09 字數 3792 閱讀 3701

當前資料庫的使用情況

1. postgresql完全免費,是bsd協議。

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

--bsd開源協議:

(original bsd license、freebsd license、original bsd license)

是乙個給於使用者很大自由的協議,bsd **鼓勵**共享,但需要尊重**作者的著作權。

bsd由於允許使用者修改和重新發布**,也允許使用或在bsd**上開發商業軟體發布和銷售,

因此是對商業整合很友好的協議。而很多的公司企業在選用開源產品的時候都首選bsd協議,

因為可以完全控制這些第三方的**,在必要的時候可以修改或者二次開發。

2.postgresql是個全棧資料庫,功能強大,擴充套件性很強

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

--內部整合了一些功能(比如流複製主從備份,資料庫備份還原等等一些功能)

,就算內部沒有某些功

能也可以通過安裝外掛程式或者整合第三方的軟體進行實現(現在一些市面上常用的軟體,只有有點

名氣的都提供了對postgresql的支援,比如redis,citus,mongodb,等等一些軟體。)

3.postgresql是個多程序多執行緒資料庫

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

--配置檔案裡面可以配置多執行緒並行查詢(使用多個子程序進行重新)

4.postgresql對ansi sql支援很友好

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

--在sql的標準實現上要比mysql完善,而且功能實現比較嚴謹

5.在開源界,除了pg (oltp + olap)都可以應付,其他的基本沒有

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

--在sql的標準實現上要比mysql完善,而且功能實現比較嚴謹

oltp

(聯機事務處理)線上請求處理

詳細:強調支援短時間內大量併發的小型操作(增刪改查)能力,

每個查詢涉及的資料量都很小(比如幾十到幾百位元組)

強調事務的強一致性(想想銀行轉賬交易,容不得差錯)

舉例:「雙十一」期間,可能有幾十萬使用者在同一秒內下訂單。

後台資料庫要能夠併發的、以近乎實時的速度處理這些訂單請求

(如果下了訂單,十幾分鐘還沒有反應,使用者肯定要罵人了)

olap

(聯機分析處理)後台資料分析處理

詳細:偏向於複雜的唯讀查詢,讀取海量資料進行分析計算,查詢時間往往很長

舉例:「雙十一」結束,**的運營人員對訂單進行分析挖掘,找出一些市場規律、

分析刷單行為等等。這種分析可能需要讀取所有的歷史訂單進行計算,

耗時幾十秒甚至幾十分鐘都有可能。

6.支援所有主流的多表連線查詢的方式(如:

"nest loop"、 "hashjoin"

"sort merge join"等)

支援絕大多數的sql語法(如: with子句)

7.postgresql對正規表示式支援最強、內建函式也是最豐富的資料庫。字段型別還支援陣列型別

資料型別支援比較豐富。

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

不像mysql對sql語法支援的功能較弱,基本上不適合做資料倉儲(分析資料庫)

雖然也有些廠商開發了基於mysql的資料倉儲儲存引擎(如infobright)

,但這個方案只是解決了部分資料倉儲的問題, sql功能弱的問題仍無法完全解決。

另外, infobright的社群版本功能上還有很多的限制,如不支援資料更新,

不支援太多的併發執行(最多支援十幾個)等。而postgresql不僅支援複雜的sql,

還支援大量的分析函式,非常適合做資料倉儲。

8.除了可以使用plpgsql寫儲存過程外,還可以使用各種主流開發語言的語法

(如: python語言的pl/python, perl語言的plperl來寫儲存過程)

,這些強大的功能可以大大地節約開發資源。postgresql:

udf(使用者自定義函式)

9.postgresql移動資料很方便:能平滑遷移至同屬pg生態的greenplum,deepgreen,hawk

資料庫,資料庫資料可以直接移動,只要是同生態圈的資料庫可以直接移庫

10.postgresql內部功能處理的很好,效能優化工具度量資訊很足。

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

postgresql資料庫中有大量的效能檢視,可方便地定位問題(比如:可看到正在執行的sql,

可通過鎖檢視看到誰在等待、哪條記錄被鎖定等)

, postgresql中設計了專門的架構和程序

用於收集效能資料,既有物理10方面的統計,也有表掃瞄及素引掃瞄方面的效能資料。

PostgreSQL資料庫介紹

1 對超許可數量軟體使用的天然免疫力 對一些商業性質的資料庫銷售商來說,超許可數量的軟體使用是第一位的問題。而使用postgresql,因為沒有任何授權的費用是,也就沒有任何人可以起訴您違反授權協議違規使用軟體。這樣也還有以下幾個其他的優點 隨著使用數量的增加不會影響業務的利潤。在任何階段都不會有類...

postgresql模板資料庫

template0和template1為postgresql資料庫的模板資料庫,新建的資料庫預設使用template1作為模板。template0和template1的區別在於template0無法修改,因此你可以修改template1資料庫以定製新建立的資料庫。template資料庫無法被刪除 d...

postgresql資料庫安裝

安裝並初始化 1 解壓資料庫並放到指定目錄 在opt目錄下 tar xvzf postgresql 10.1 1 linux x64 binaries.tar.gz 解壓出來之後目錄為pgsql 2 mv pgsql usr local pgsql 3 建立pgsql使用者並設定密碼 useradd...