Oracle:是當(dāng)今市場上最大的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)供應(yīng)商之一。通常稱為Oracle數(shù)據(jù)庫或Oracle DB
PostgreSQL:常稱為Postgres,是一種開放源代碼和對象關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它是用C語言編寫的,由一組自愿的開發(fā)人員開發(fā)。
支持系統(tǒng)
Oracle:?It supports AIX, HP-UX, Linux, OS X, Solaris, Windows, z/OS.
PostgreSQL:?It supports FreeBSD, HP-UX, Linux, NetBSD, OpenBSD, OS X, Solaris, Unix and Windows.
支持的編程語言
Oracle:?It supports C, C#, C++, Clojure, Cobol, Delphi, Eiffel, Erlang, Fortran, Groovy, Haskell, Java, JavaScript, Lisp, Objective C, OCaml, Perl, PHP, Python, R, Ruby, Scala, Tcl, Visual Basic.
PostgreSQL:?It supports.Net, C, C++, Delphi, Java, JavaScript, Perl, PHP, Python, and Tcl.
訪問方式
Oracle:ODP.NET,Oracle Call Interface (OCI),JDBC,ODBC
PostgreSQL:native C library,streaming API for large objects,ADO.NET,JDBC,ODBC
SQL執(zhí)行計劃干預(yù)
從使用postgresql來看,想要改變執(zhí)行計劃只能通過対表進行分析,不能通過添加hint的方式來改變執(zhí)行計劃;
oracle不僅可以通過對表進行收集統(tǒng)計來改變執(zhí)行計劃,而且很重要的一點支持通過添加hint的方式以達到自己想要的執(zhí)行計劃。
語法功能
在單條數(shù)據(jù)的功能上postgresql要強,尤其空間查詢、轉(zhuǎn)換,支持很多的方法函數(shù)
在統(tǒng)計分析上oracle要強,如分析函數(shù)、sql model等
數(shù)據(jù)加載
在使用門檻上,postgresql要簡單,如數(shù)據(jù)導(dǎo)入導(dǎo)出,copy 表 to '' with csv; copy 表 from '' with csv;
在效率、多樣性上oracle要強要多,如imp/exp、數(shù)據(jù)泵、sqlload等
事務(wù)
postgresql基本上自動提交事務(wù),如果要控制自動提交,需要使用begin end;
oracle默認是需要commit才會進行數(shù)據(jù)持久化,或者執(zhí)行DDL