程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2與PostgreSQL開發的區別(1)

DB2與PostgreSQL開發的區別(1)

編輯:DB2教程

本文主要描述的是DB2數據庫和PostgreSQL在開發的實際操作中存在的異同之處的描述,對DB2與postgresql的數據定義語言、數據操作語言等進行了詳細的比對分析,供您參考:

1,數據定義語言(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的客戶端有,可以編輯歷史命令;


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved