DB2與PostgreSQL開發的相同及不同之處

來源:互聯網
上載者:User

本文主要向大家介紹的是了DB2資料庫開發與PostgreSQL開發在實際操作中的一些相同之處,與不同之 處,最近用了用DB2,寫了點區別。不一定完全正確。不過可以看看兩者區別。

1,資料定義語言 (Data Definition Language)(DDL)以及外圍工具:db2與postgresql的區別幾乎為0,具體區別是:

a、db2 varchar 在沒有設定特殊資料表空間的話,上限為32K,postgresql的varchar沒有這個限制;

b、db2的二進位大物件類型blob,在postgresql裡用bytea類型代替;

c、db2的文本大物件類型clob、long varchar,在postgresql裡用text類型代替;

d、db2中generated by default 或者 generated always 類型鍵字在postgresql中用serial或者 bigserial代替;(這個區別是最大的)

e、db2中沒有序列(sequence對象),postgresql中有,因而更加靈活;

f、db2中的自增主鍵的值重設需要alter table,而postgresql裡可以用setval()系列函數設定序列, 更簡單;

g、db2中不支援空間資料類型(點、線、面),postgresql支援;

h、db2中交易隔離等級定義與SQL標準不夠相容,postgresql完全相容SQL標準;

i、db2中JDBC type4驅動不支援GBK的資料庫編碼,postgresql沒有這個問題;

j,db2的資料庫編碼轉換非常搞笑且複雜,postgresql很簡單,只需要 set client_encoding to xxx;

k,目前db2 8.1還不支援UNICODE後台編碼,postgresql支援,因此可以支援多內碼;

l,db2 8.1的觸發器無法讀取被觸發的資料表,postgresql沒有這個限制;

m,db2 8.1 的觸發器不能執行預存程序,postgresql沒有這個限制;

n,postgresql 中有bit(位)、bitstring(位串)類型,db2沒有;

o,db2的用戶端db2/db2cmd執行sql指令碼需要指定分隔字元,比如@;postgresql的用戶端預設就是分 號;

p,db2的用戶端db2/db2cmd沒有命令曆史功能,postgresql的用戶端有,可以編輯曆史命令;

q,db2無法在同一機器上安裝不同資料庫版本,postgresql可以;

r,db2有聯邦資料庫的概念,postgresql沒有;

s,db2 II可以進行異構資料庫複寫,postgresql需要自己開發軟體;

t,db2 8.1沒有很好的辦法將整個Database Backup成文本指令碼,postgresql很容易;

u,db2 8.1的java預存程序重載需要重啟資料庫,postgresql不需要;

v,db2 的用戶端db2/db2cmd中的SQL命令預設下無法使用折行,postgresql的可以;

w,db2沒有中文文檔,postgresql有,並且很完整;

x,db2有比較完整的錯誤碼,postgresql目前不夠完整;

y,db2中調用函數需要:select func() from sysibm.sysdummy1,postgresql 中只需要:select func(); 即可

z,db2中返回結果集的預存程序或者函數書寫非常複雜,需要使用額外的tablet儲存結果集, postgresql中只是增加了RETURN NEXT語句;

A,db2 中預存程序沒有ROWTYPE/RECORD類型的概念,postgresql中有;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.