Oracle:是当今市场上最大的关系数据库管理系统(RDBMS)供应商之一。通常称为Oracle数据库或Oracle DB
PostgreSQL:常称为Postgres,是一种开放源代码和对象关系数据库管理系统。它是用C语言编写的,由一组自愿的开发人员开发。
支持系统
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执行计划干预
从使用postgresql来看,想要改变执行计划只能通过対表进行分析,不能通过添加hint的方式来改变执行计划;
oracle不仅可以通过对表进行收集统计来改变执行计划,而且很重要的一点支持通过添加hint的方式以达到自己想要的执行计划。
语法功能
在单条数据的功能上postgresql要强,尤其空间查询、转换,支持很多的方法函数
在统计分析上oracle要强,如分析函数、sql model等
数据加载
在使用门槛上,postgresql要简单,如数据导入导出,copy 表 to '' with csv; copy 表 from '' with csv;
在效率、多样性上oracle要强要多,如imp/exp、数据泵、sqlload等
事务
postgresql基本上自动提交事务,如果要控制自动提交,需要使用begin end;
oracle默认是需要commit才会进行数据持久化,或者执行DDL