100% found this document useful (1 vote)
367 views35 pages

Technical Comparison Edb Postgres Enterprise and Oracle Enterprise Ebook

Technical Comparison Edb Postgres Enterprise and Oracle Enterprise eBook

Uploaded by

ehpp2003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
367 views35 pages

Technical Comparison Edb Postgres Enterprise and Oracle Enterprise Ebook

Technical Comparison Edb Postgres Enterprise and Oracle Enterprise eBook

Uploaded by

ehpp2003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

A TECHNICAL
COMPARISON
of EDB Postgres TM Enterprise
and Oracle® Enterprise

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


2
TABLE OF
CONTENTS
INTRODUCTION..................................................................3

Notes on Compatibility with Oracle.................................5

Tables Legend .....................................................................6

EVALUATING EDB POSTGRESTM..................................... 7

General / Capabilities........................................................ 8

Terminology..........................................................................9

Capacities........................................................................... 10

Tables and Partitioning...................................................... 11

Data Types ......................................................................... 12

Indexes................................................................................ 14

SQL Capabilities................................................................. 15

SQL Extensions.................................................................. 16

High Availability .................................................................17

Performance / Scalability ................................................ 18

Security................................................................................ 19

Integration........................................................................... 21

Application Development................................................ 22

Big / Unstructured Data................................................... 26

Management ..................................................................... 28

Incompatibilities ............................................................... 29

Deployment Options ....................................................... 30

APPENDIX A ..................................................................... 31

APPENDIX B..................................................................... 32

APPENDIX C......................................................................34
A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

INTRODUCTION

Organizations are increasingly choosing EDB Postgres


Enterprise as a standard Relational Database Management
System for new and existing applications.

EDB Postgres Enterprise provides the performance, security, manageability features, and capabilities
required to power enterprise workloads. This frees up expensive proprietary database money that can
be redirected to new applications and digital transformation initiatives.

This potential to free up money in core IT is especially true for organizations using Oracle because EDB
Postgres Enterprise is also compatible with Oracle. EDB Postgres’ compatibility allows it:

• To be used as a substitute for Oracle for new applications,

• To migrate existing Oracle apps preserving investments in PL/SQL,

• To complement and coexist with their existing Oracle infrastructure.

This guide is intended to help you evaluate EDB Postgres’ capabilities and identify the workloads and
applications where EDB Postgres Enterprise can be used in place of Oracle.

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

4
In the pages that follow, you will find:

• A comparison of various aspects of Oracle Enterprise Edition from Oracle with EDB Postgres
Enterprise (EPE) featuring the EDB Postgres Advanced Server (EPAS) database from
EnterpriseDB (EDB).

• An emphasis on the issues of greatest interest to EDB prospects and customers as communicated
to us since EDB’s founding in 2004.

• A limited compilation of some options and tools used in the database or with the database software
in common deployments.

Also note that the following information is not intended to be:

• A competitive comparison of all of Oracle’s or all of EDB Postgres’ capabilities and


business practices.

• A comparison of capabilities specific to any one version of Oracle. It’s also important to note that
EDB’s database compatibility features are driven specifically by customer requests, which span
many versions of Oracle.

• Product documentation. This information does not reflect Oracle or EDB’s product documentation.
It also does not include all of EDB Postgres Advanced Server’s compatibility features - only the
most popular ones. For a comprehensive list of features and official documentation, refer to the
information links below.

• A Total Cost of Ownership calculator. For actual pricing determinations and comparisons, readers
are advised to contact EDB at the link noted below.

For more information: •

• Download EDB Postgres Advanced Server and try it • Comparison of EDB PostgreSQL and EDB Postgres
Advanced Server
• Compatibility documentation: Database Compatibility
for Oracle® Developer’s Guide v9.5 • Contact EDB to meet with an EDB Sales Engineer
skilled in Oracle
• All documentation
• For a detailed Total Cost of Ownership discussion,
Contact EDB

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

Notes on Compatibility with Oracle


Database administrators and application developers commonly ask, “Which version of Oracle are you
compatible with?” EDB has developed database compatibility for Oracle based on popular features
across many versions of Oracle. EDB’s goal has always been to create a critical mass of compatibility
for the most popular features regardless of Oracle version to enable EDB Postgres Enterprise to support
Oracle workloads and provide end users significant cost savings for a large portion, or in some cases all,
of their Oracle footprint.

In selecting new features for every software release, EDB focuses on the most popular features whose
value to customers meets one or more of the following criteria:

Reduced Technical Risk: This refers to objects or code created in Oracle that
can be migrated and executed “as is” against or inside an EDB Postgres
Advanced Server database and behave or produce the identical result as
they would in Oracle.

Reduced Re-Training Risk: This means that knowledge, skills, and tools most
frequently used with Oracle can also be used with EDB Postgres Advanced Server,
significantly reducing the learning curve needed to be productive quickly in either
creating new applications or migrating old ones.

Reduced Integration Risk: This means that EDB Postgres Advanced Server
databases and applications can integrate well with existing Oracle infrastructure
and non-database software that will be retained or cannot be changed for the
foreseeable future.

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

Tables Legend
Denotes whether the feature or characteristic is supported in
YES / NO
the database.

The feature operates in a manner compatible with


Oracle, allowing users to continue using and/or migrate
their existing Oracle skills, program code or data.

The subscription bundle for purchase that includes the database


EDB POSTGRES EDB Postgres Advanced Server and all the mission-critical tools
ENTERPRISE needed for Management, High Availability, Replication,
Backup/Recovery, etc.

EDB’s database with compatibility for Oracle and additional


EDB POSTGRES
enterprise features for Security and Performance is built upon
ADVANCED
PostgreSQL and continuously merges changes with every major,
SERVER
minor and security release.

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

EVALUATING EDB
POSTGRESTM ENTERPRISE

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

General / Capabilities
There are a few foundational details prospective users should understand straight away when
comparing Oracle’s database with EDB Postgres Advanced Server. Both are mature, enterprise-class
object-relational databases that meet the industry standards for atomicity, consistency, isolation, and
durability (ACID) compliance. It’s also important to note the products were both developed from the same
seminal IBM research on System R, and designed to solve many of the same problems and so there is a
great deal of similarity.

General / Capabilities Oracle Enterprise EDB Postgres Enterprise

Commercial implementation Academic implementation


DESIGN ORIGIN based on IBM’s original (UC Berkeley) based on IBM’s
research for System R. original research for System R.

PostgreSQL development
started in 1986. EPAS
CONTINUOUS development started in 2004.
1979
DEVELOPMENT SINCE EPAS is based on PostgreSQL
and continuously merged.

OBJECT RELATIONAL DATABASE Yes Yes

PROCESSING ARCHITECTURE Process Based and Thread Based Process Based

FULL ACID COMPLIANCE Yes Yes

MULTI-VERSION
Yes Yes
CONCURRENCY CONTROL

MULTI-TENANT ARCHITECTURE Yes Yes

AUTOMATIC WORKLOAD
Yes No
MANAGEMENT

ENTERPRISE DATABASE Oracle Enterprise EDB Postgres


MANAGEMENT Manager Enterprise Manager

MULTI-CORE SUPPORT Yes Yes

WRITE AHEAD DURABILITY Redo Logs Write Ahead Log

DISK READ BUFFERING Yes Yes

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

Terminology
For all the work that has gone into making SQL a standard, there are still differences in nomenclature
used in many SQL based products. Some of the more important and perhaps non-obvious differences
are noted below.

Terminology Oracle Enterprise EDB Postgres Enterprise

TABLE OR INDEX Table or Index Table, Index, or Relation

ROW Row Row or Tuple

COLUMN Column Column or Attribute

Page
DATA BLOCK Data Block
When Block is on Disk.

PAGE Buffer
Page
When Block is in Memory.

Each instance of EDB Postgres Advanced Server is referred to as a “cluster.” A cluster is comprised of a data
directory that contains all data and configuration files and can be referred to in two ways: by location of the data
directory or by port number. A single server can have many installations and you can create multiple clusters using
the command: initdb.

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

10

Capacities
Some of the first questions raised when considering a new database involve capacity. DBAs and
developers need to understand whether a new solution has the capacity to support existing application
data designs, workloads, and anticipated growth. Applying the capacity of a new solution to an
organization’s workloads and future applications means understanding how it supports data across
multiple structures within the database.

Capacities Oracle Enterprise EDB Postgres Enterprise

MAX. DATABASE SIZE Unlimited Unlimited

MAX. TABLE SIZE 4 GB x Block Size 32 TB

MAX. ROW SIZE 4 TB 1.6 TB

For BLOB:
MAX. FIELD SIZE (4 GB - 1) x DB_BLOCK_SIZE 1 GB
Initialization Parameter

MAX. ROWS PER TABLE Unlimited Unlimited

250-1600
MAX. COLUMNS PER TABLE 1000 Depending on
Column types.

MAX. INDEXES PER TABLE Unlimited Unlimited

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

11
Tables and Partitioning
The range of constructs within the database and how much flexibility DBAs have in organizing these
structures can impact performance as well as maintenance and other operational requirements. The
ability to partition a database improves performance, for example. Organizing data into distinct structures
and distributing them across the infrastructure also improves manageability, availability, and load
balancing. Materialized views allow DBAs to replace slow, resource-intensive runtime queries, complex
joins, or lengthy scans of data with simple, faster reads from pre-joined, pre-sorted, and stored results.

Tables and Partitioning Oracle Enterprise EDB Postgres Enterprise

TEMPORARY TABLES Yes Yes

VIEWS Yes Yes

MATERIALIZED VIEWS Yes Yes

PARTITIONING Yes Yes ✓

PARTITION BY RANGE Yes Yes ✓

PARTITION BY HASH Yes Yes ✓

PARTITION BY LIST Yes Yes ✓

SUB-PARTITIONING Yes Yes ✓

INTERVAL PARTITIONING Yes No

PARTITIONED INDEXES Yes No

ANSI CONSTRAINTS Yes Yes

TABLESPACES Yes Yes

Can cluster a table by an index


providing similar performance
INDEX ORGANIZED TABLES Yes
boosts when reading data from
a pre-sorted structure.

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

12

Data Types
Data types provide various ways for a DBMS to define, implement, and use information within the system
and put constraints on how data is interpreted by the database when multiple data types are in use.
EDB Postgres Advanced Server has very strong compatibility with Oracle data types and is highly
extensible allowing it to very quickly support new and emerging data types and workloads as they
become popular.

Data Types Oracle Enterprise EDB Postgres Enterprise

TYPE SYSTEM Static + Dynamic


Static
(through ANYDATA)

NUMBER ✓
also DEC, NUMERIC,
NUMBER SMALLINT (16-bit), INT,
INTEGER
BINARY_INTEGER,
PLS_INTEGER, INTEGER
(32-bit), BIGINT (64-bit)

BINARY_FLOAT ✓,
BINARY_DOUBLE ✓
BINARY_FLOAT,
FLOATING POINT also FLOAT, REAL (32-bit),
BINARY_DOUBLE
DOUBLE PRECISION
(64-bit)

NUMBER ✓
DECIMAL NUMBER also DEC, DECIMAL,
NUMERIC

CHAR ✓, VARCHAR2 ✓,
CHAR, VARCHAR2, CLOB, CLOB ✓, NCLOB ✓,
STRING NCLOB, NVARCHAR2, NCHAR, NVARCHAR2 ✓, NCHAR
LONG (deprecated) also CHARACTER, TEXT,
CHAR VARYING, CHARACTER
VARYING, VARCHAR

BLOB, RAW, LONG RAW BLOB ✓, RAW ✓, LONG RAW ✓,


BINARY (deprecated), BFILE also BYTEA (No compatible type
for BFILE)

DATE ✓, TIMESTAMP ✓
DATE, TIMESTAMP (with/without TIMEZONE),
DATE/TIME (with/without TIMEZONE), INTERVAL ✓
INTERVAL also TIME
(with/without TIMEZONE),

Chart continues on next page >>

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

13

Data Types cont'd


Data Types Oracle Enterprise EDB Postgres Enterprise

BOOLEAN Not Available BOOLEAN

ROWID ROWID ROWID

XMLTYPE XMLTYPE XMLTYPE

Requires NoSQLDB Yes, is integrated into the


KEY-VALUE which is a separate core database.
database program.

JSON and fast binary JSONB


Use VARCHAR2, CLOB,
with 58 JSON operators,
JSON and BLOB with is_json
functions and relational
check constraint.
json converters.

SPATIAL/GEOSPATIAL Yes Yes

ENUM, POINT, LINE, LSEG,


BOX, PATH, POLYGON, CIRCLE,
IMAGE, AUDIO, CIDR, INET,
OTHER VIDEO, DICOM MACADDR, BIT, UUID, XML,
JSON, JSONB,
arrays, composites,
ranges, custom

DATA DOMAINS Yes Yes

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

14

Indexes
In order to provide optimal performance for the wide range of supported data types and new workloads
utilizing those data types, the database must also support a wide variety of indexes. EDB Postgres
Advanced Server is somewhat unique in this regard, especially its GiST index which allows for easy
development of specialized indexes for new data types.

Indexes Oracle Enterprise EDB Postgres Enterprise

B-TREE Yes Yes

HASH Yes Yes

EXPRESSIONS Yes Yes

PARTIAL Yes Yes

Yes
REVERSE Yes A functional index can be used
to reverse the order of a field.

BITMAP Yes Use GIN Index

Yes
BLOCK RANGE INDEX Yes
Exadata Smart Scan is similar.

GiST
No Yes
Easy creation of specialized indexes.

GIN No Yes
Custom inverted indexes.

Yes
K-NEAREST-NEIGHBOR Using the package
Yes
DBMS_DATA_MINING
and Spatial option.

FULL TEXT SEARCH Yes Yes

SPATIAL Yes Yes

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

15

SQL Capabilities
Postgres Advanced Server strongly conforms to the ANSI-SQL:2008 standard. It also has Transactional
DDL which supports backing out even large changes to DDL, such as table creation. While you can’t
recover from an add/drop on a database or tablespace, all other catalog operations are reversible. This
feature is often used for protection when doing complicated work like schema upgrades. If you put all
such changes into a transaction block, you can make sure they all apply atomically or not at all. This
drastically lowers the possibility that the database will be corrupted by a typo or other such error in the
schema change, which is particularly important when you’re modifying multiple related tables where a
mistake might destroy the relational key.

SQL Capabilities Oracle Enterprise EDB Postgres Enterprise

UNION Yes Yes ✓

INTERSECT Yes Yes ✓

EXCEPT Yes Yes ✓

INNER JOINS Yes Yes ✓

OUTER JOINS Yes Yes ✓

INNER SELECTS Yes Yes ✓

MERGE JOINS Yes Yes ✓

COMMON TABLE EXPRESSIONS Yes Yes

WINDOWING FUNCTIONS Yes Yes

QUERY HINTS Yes Yes ✓

TRANSACTIONAL DDL No Yes

ALTER SESSION Yes Yes

DYNAMIC SQL Yes Yes

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

16

SQL Extensions
Oracle has a number of SQL extensions that are very popular with Oracle users. While not standard to
the SQL language they provide a lot of utility and convenience to DBAs and developers. EDB Postgres
Advanced Server supports those most desired by EDB customers.

SQL Extensions Oracle Enterprise EDB Postgres Enterprise

DUAL Yes Yes ✓

DECODE Yes Yes ✓

ROWNUM Yes Yes ✓

SYSDATE Yes Yes ✓

SYSTIMESTAMP Yes Yes ✓

NVL, NVL2 Yes Yes ✓

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

17

High Availability
Mission-critical workloads must remain operational at all times and have little tolerance for even planned
downtime for maintenance. This demand for high availability requires solutions that provide high speed
replication and redundancy to eliminate single points of failure in the system; failure detection and
automated failover to ensure systems continue to function in the event of a breakdown in the system;
and data and system recovery to assist DBAs following failure events.

High Availability Oracle Enterprise EDB Postgres Enterprise

Yes
Using Streaming
DATA GUARD Yes
Replication and
Log Shipping.

Yes
Using Streaming
ACTIVE DATA GUARD Yes Replication, Log Shipping,
Cluster Health Monitoring,
Failover and Replica Reads.

FLASHBACK QUERY Yes No

FLASHBACK TABLE,
DATABASE AND Yes No
TRANSACTION QUERY

BACKUP AND
Yes Yes
RECOVERY TOOLS

POINT IN Yes Yes


TIME RECOVERY

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

18

Performance / Scalability
Database operations may be optimized through various means to deliver higher performance.
Connection pooling, for example, refers to a common way of maintaining open connections to
the database for applications that repeatedly make requests as opposed to having to create new
connections each time. Data replication can increase performance by making information simultaneously
available to multiple end-user applications. These performance enhancements can be achieved through
database enhancements and various external complementary solutions.

Performance / Scalability Oracle Enterprise EDB Postgres Enterprise

CONNECTION POOLING Yes Yes

Yes No
A shared everything A shared nothing architecture.
REAL APPLICATION architecture for High Availability is achieved with
CLUSTERS (RAC) Performance, High EDB Failover Manager or active/
Availability and passive clustering. Read scaling is
Read scaling. achieved with Replication.

IN-MEMORY DATABASE Yes No

EDB Replication Server and


MULTI-MASTER Advanced Replication, native Postgres BDR (Log-based
READ/WRITE SOLUTION Streams and GoldenGate. Bi-Directional Replication
currently in alpha testing).

Yes Yes
COLUMNAR STORE Using In-Memory Using cstore Foreign
Column Store. Data Wrapper.

CPU AND I/O RESOURCE LIMITS Yes Yes

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

19

Security
Database security encompasses many dimensions from secure connections to password management
to access control to physical data encryption to auditing and more. Among many commercial databases
and among all open source based databases, EDB Postgres Advanced Server is the most secure and
contains extensive support for PCI DSS.

Security Oracle Enterprise EDB Postgres Enterprise

Yes Yes
AUTHENTICATION
LDAP, SSL, RADIUS, PAM, LDAP, SSL, RADIUS, PAM,
SUPPORT
Kerberos, GSSAPI, SSPI Kerberos, GSSAPI, SSPI

DB CONNECTION
Yes Yes
ENCRYPTION

DB CONNECTION Yes
WHITE LISTS Using before Yes
connect triggers.

Yes
DB CONNECTION BLACK LISTS Using before Yes
connect triggers.

PROFILES FOR PASSWORDS Yes Yes ✓

SERVER CODE OBFUSCATION Yes Yes

ANSI STANDARD SQL


Yes Yes
GRANT/REVOKE

COLUMN LEVEL
Yes Yes
PERMISSIONS

USER/GROUP/ROLE SUPPORT Yes Yes ✓

VIRTUAL PRIVATE DATABASE Yes Yes ✓

VIEW SECURITY BARRIERS Not Available Yes

DATA MASKING Yes No

Chart continues on next page >>

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

20

Security cont'd

Security Oracle Enterprise EDB Postgres Enterprise

Only DBMS_RLS
REAL APPLICATION SECURITY Yes
functionality.

DATABASE VAULT Yes No

AUDIT VAULT AND Database Firewall Only.


Yes
DATABASE FIREWALL (SQL/Protect)

ADVANCED SECURITY Multiple options available.


Yes
(See Appendix A)

Yes
FINE GRAINED AUDITING Yes Using VPD policies to
insert audit trail into an audit
log upon access.

DATA ENCRYPTION TOOLKIT Yes Yes ✓

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

21

Integration
Today’s data centers commonly consist of one or more relational and many non-relational database
solutions deployed to handle specific workloads based on data type and application. Relational
databases utilize a range of mechanisms for connecting to other like and dissimilar database solutions
across the infrastructure in order to connect data from multiple sources and create a cohesive data
fabric. In some cases, the database is engineered with specific capabilities that enhance data
integration. Database vendors also develop adaptors that enable their database to connect with
other vendor solutions.

Integration Oracle Enterprise EDB Postgres Enterprise

DATABASE LINKS Yes Yes ✓

NATIVE ASYNCHRONOUS Yes


Yes
LOG-BASED REPLICATION

NATIVE SYNCHRONOUS
Yes Yes
LOG-BASED REPLICATION

SESSION BASED
No Yes
SYNCHRONOUS REPLICATION*

DISTRIBUTED Yes Yes


TRANSACTIONS Using XA Plug-in

DISTRIBUTED QUERIES Yes Yes

INTEGRATION WITH:
SQL Server Database Gateway EDB Replication Server
Sybase Database Gateway not available
Hadoop Oracle Data Integrator Data Adapter
MongoDB Golden Gate Data Adapter
MySQL Oracle Data Integrator Data Adapter

* It is possible, and often useful, to have some transactions commit synchronously and others asynchronously depending
on the session connected to the database.

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

22

Application Development
Databases are a foundation of today’s data-driven enterprise, and applications are increasingly
data-intensive. Vendors in turn work to continually enhance their database solutions to support the
needs of application developers, who seek the flexibility to make choices and simple ways for executing
complex tasks. For example, databases that can provide support for multiple server-side languages for
triggers, functions, and stored procedures give developers the option to choose their language for both
client, middle tier and database server programming. Object oriented capabilities like user-defined
object types allow the database to store real world representations of data thus making development
easier, quicker, and more understandable.

Application Development Oracle Enterprise EDB Postgres Enterprise

EDB Postgres
IDE SQL Developer Enterprise Manager

DATABASE SERVER PL/SQL SPL (PL/SQL Compatible)


PROGRAMMING LANGUAGE (Block Structured (Block Structured
Language) Language)

PL/pgSQL (PostgreSQL’s
Procedural Language)
ADDITIONAL PROGRAMMING
PL/Java
LANGUAGES FOR
Java C
DATABASE SERVER STORED
C++
PROCEDURES, TRIGGERS,
PL/Perl
AND FUNCTIONS
Python
PL/Tcl

JAVA SUPPORT Yes Yes

JDBC SUPPORT Yes Yes

ODBC SUPPORT Yes Yes

.NET SUPPORT Yes Yes

EDB Postgres
PL/SQL DEBUGGER SQL Developer
Enterprise Manager

STORED PROCEDURES Yes Yes ✓

Chart continues on next page >>

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

23

Application Development cont'd


Application Development Oracle Enterprise EDB Postgres Enterprise

NAMED PARAMETER
NOTATION FOR STORED Yes Yes ✓
PROCEDURES

TRIGGERS Yes Yes ✓

REF CURSORS Yes Yes ✓

IMPLICIT / EXPLICIT CURSORS Yes Yes ✓

ANONYMOUS BLOCKS Yes Yes ✓

BULK COLLECT/BIND Yes Yes ✓

ASSOCIATIVE ARRAYS Yes Yes ✓

NESTED TABLES Yes Yes ✓

VARRAYS Yes Yes ✓

HIERARCHICAL QUERIES Yes Yes ✓

PARALLEL QUERY Yes Yes

DATA REDACTION Yes Due in v11

Yes ✓
PL/SQL SUPPLIED PACKAGES Yes
(See Appendix B)

ADVANCED QUEUEING Yes Yes

PRAGMA
Yes Yes ✓
RESTRICT_REFERENCES

PRAGMA EXCEPTION_INIT Yes Yes ✓

PRAGMA No
Yes
AUTONOMOUS_TRANSACTION

Chart continues on next page >>

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

24

Application Development cont'd


Application Development Oracle Enterprise EDB Postgres Enterprise

USER DEFINED FUNCTIONS Yes Yes

USER DEFINED OBJECTS Yes Yes

USER DEFINED EXCEPTIONS Yes Yes ✓

OBJECT TYPES Yes Yes ✓

SUB-TYPES Yes Yes ✓

SYNONYMS (PUBLIC AND PRIVATE) Yes Yes ✓

NESTED TRANSACTIONS Yes Yes

NESTED PROCEDURES/FUNCTIONS Yes Yes

SEQUENCE GENERATOR Yes Yes ✓

DEFINER / INVOKER RIGHTS Yes Yes ✓

STATEMENT LEVEL ROLLBACK Yes Yes ✓

EXPLICIT TRANSACTION CONTROL Yes Yes ✓

GOTO Yes Yes

OCL ✓ (OCI Support)


JDBC
OCI ODBC
JDBC C
ODBC C++
C .NET
APPLICATION CLIENT C++ Perl
LIBRARY SUPPORT .NET Ruby
Perl PHP
Ruby libpq (Postgres)
PHP Python
Scheme
Lisp
Qt

Chart continues on next page >>

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

25

Application Development cont'd


Application Development Oracle Enterprise EDB Postgres Enterprise

Yes Yes ✓
EMBEDDED C ecpgPlus
Pro*C

EXTERNAL ROUTINES Yes Yes

APPLICATION EXPRESS (APEX) Yes No

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

26

Big / Unstructured Data


The huge data volumes that today’s enterprises are generating, along with a proliferation of new kinds
of data from social media, mobile, web, and machine sources, have prompted the development of a
new class of so-called Big Data management solutions and capabilities. Data stored in large volumes is
typically stored in an unstructured fashion for later analysis. Relational database vendors have developed
capabilities for supporting large volumes of unstructured data within the database as well as adaptors for
connecting to other Big Data solutions to enable data integration.

Big / Unstructured Data Oracle Enterprise EDB Postgres Enterprise

SPATIAL / LOCATION / GRAPH Yes Yes

Yes
Yes Text- and High
JSON SUPPORT Text Based. Performance
Binary-Based.

KEY-VALUE STORE NoSQLDB Yes

SUPPORT FOR XML


NAMESPACES, DOM,
XQUERY, SQL/XML XML DB No
AND XSLT.

COMPRESSION (TABLES,
FILES, NETWORK, Yes No
AND BACKUPS)

PARTITIONING Yes Yes

Yes
ETL via Data Integrator Yes
HADOOP INTEGRATION
Application Adapter for Hadoop Real-time Join with Relational Data

Yes Yes
MONGODB INTEGRATION
Golden Gate Adaptor Read/Write/Join

CUBE, ROLLUP AND


Yes Yes
ROUPING SETS

Chart continues on next page >>

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

27

Big / Unstructured Data cont'd


Big / Unstructured Data Oracle Enterprise EDB Postgres Enterprise

TRANSPORTABLE
CROSS-PLATFORM Yes No
TABLE SPACES

FULL TEXT SEARCH Yes Yes

ADVANCED COMPRESSION Yes No

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

28

Management
Many enterprises have large database deployments often into the hundreds and beyond. DBAs require
tools for maintaining these data farms easily and quickly and for performing operations in bulk across
multiple databases. Customizable graphical consoles with a full compliment of features for monitoring,
tuning, managing, and alerting are paramount to DBAs performing the basics of their responsibilities.
Management encompasses both the capabilities within the database that support the DBA in their
operational tasks and tools external to the database as well.

Management Oracle Enterprise EDB Postgres Enterprise

CLI SQL*Plus EDB*Plus

BULK DATA LOADER SQL*Loader EDB*Loader

ENTERPRISE MANAGEMENT Oracle Enterprise Manager EDB Postgres Enterprise Manager

Yes Yes ✓
SYSTEM CATALOG VIEWS
(See Appendix C)

POINT-IN-TIME RECOVERY (PITR) Yes Yes

ONLINE BACKUP Yes Yes

ONLINE REORGANIZATION Yes No

AUTOMATIC MEMORY
Yes No
MANAGEMENT

AUTOMATIC Yes No
STORAGE MANAGEMENT

AUTOMATIC UNDO
MANAGEMENT Yes Yes

DIAGNOSTICS PACKAGE Yes Yes

Tuning Wizard, Index


TUNING PACKAGE Yes
Advisor, Postgres Expert

SQL QUERY PROFILER Yes Yes

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

29

Incompatibilities
There are a number of incompatibilities between Oracle and EDB Postgres Advanced Server that are
either not yet addressed or worth noting because of fundamental differences.

Incompatibilities Oracle Enterprise EDB Postgres Enterprise

MERGE Yes UPSERT

Yes
AUTONOMOUS TRANSACTIONS Yes However, uses different syntax.

Can mimic with a set of Postgres


PIPELINED FUNCTIONS Yes returning functions as long as
parallel is not used.

EMPTY STRING VS NULL Empty string = NULL Empty string = !NULL

Performs many implicit data Requires you to cast a datatype


CASTING type conversions such as a to the other datatype or an
number to a string. error is produced.

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

30

Deployment Options
With the advance of private, public, and private clouds and virtualization, the range of database
deployment options has increased for end users. The following provides a snapshot of the available
deployment options for Oracle Enterprise and EDB Postgres Enterprise.

Deployment Options Oracle Enterprise EDB Postgres Enterprise

Intel
AMD Intel
ON-PREMISES HARDWARE IBM Power AMD
Sun ultraSPARC IBM Power

Yes Yes
ON-PREMISES VIRTUAL With restrictions.

Oracle Cloud on an Oracle stack


ON-PREMISES CLOUD Yes
including Infrastructure and Platform
PRIVATE CLOUD OpenStack
(middleware and database)

Oracle Cloud on a Postgres Plus Cloud


proprietary stack including Database - proprietary
PUBLIC CLOUD Infrastructure and Platform database as a service on AWS
(middleware and and Google Cloud Platform
database)

PUBLIC CLOUD - BYOL Yes Yes

HYBRID CLOUD Yes Yes

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

31

APPENDIX A:
Data Encryption Options
The following data encryption options offer different levels and granularity of protection depending on
the needs of the application.

Using pgcrypto Using DBMS_CRYPTO

Postgres contrib module Oracle compatible wrapper around pgcrypto


with same features and limitations
Applied to selected table columns
Supports multiple cipher algorithms
Cannot search or index encrypted fields
DES, 3DES, AES and AES128
Encryption must be applied at table creation,
so advance planning is required MD4, MD5 and SHA-1 hash functions
The application must handle the encryption/ Generate cryptographically strong random values
decryption so that exchanges with the
database remain encrypted

DBAs cannot see data in clear

Using Disk Partition Encryption Using File System Level

File system disk partition is encrypted/ Individual files or directories are encrypted by
decrypted by the OS the file system

Protects all files in the database partition Requires file-based key management
including temporary files
Individual management of encrypted files
Data is decrypted when read from the (e.g. incremental backups) even in
filesystem. This allows DBAs to see encrypted form
the data – so have roles and permissions
locked down Access control can be enforced by use of
public-key cryptography
Transparent to application developers
Cryptographic keys are only held in memory
e.g. Red Hat Enterprise Linux supports while the file that is decrypted by them is
Linux Unified Key Setup-on-disk-format (LUKS) held open

Transparent to application developers

e.g. eCryptfs for Linux (http://ecryptfs.org/)

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

32

APPENDIX B:
EDB Postgres Advanced Server
Compatible Package Support
EDB focuses on the most popular functions within packages. Hence for some packages not all Oracle
functions may be supported. For specific details refer to the Database Compatibility for Oracle®
Developer’s Guide

Package Name Package Description

DBMS_ALERT Functions that allow asynchronous notification of database events via an Alert.
Using this package and triggers, an application can notify itself whenever values of
interest in the database are changed.

DBMS_AQ Advanced queueing provides database-integrated message queueing so that


business applications can communicate with each other whereby a producer
application enqueues messages and a consumer application dequeues messages.

DBMS_CRYPTO Provides functions to encrypt and decrypt stored data.

DBMS_JOB Has been replaced by DBMS_SCHEDULER but included for compatibility with older
Oracle applications.

DBMS_LOB Functions that allow access to and manipulation of Large Object values.

DBMS_LOCK Provides a function interface to Lock Management services.

DBMS_OUTPUT Allows the sending of messages from stored procedures, packages, and triggers for
application or debugging use.

DBMS_PIPE Functions that allow two or more sessions in the same database instance to
communicate with one another.

DBMS_PROFILER Provides functions to profile stored procedure workloads and identify


performance bottlenecks.

DBMS_SCHEDULER Job scheduler functions for creating and executing unattended repetitive tasks
inside the database.

DBMS_SQL Permits the use of dynamic SQL in procedures to allow applications


to run SQL statements with unknown parameters (such as table name) until runtime.

DBMS_RANDOM Useful functions to generate random text, numeric and date values.

Chart continues on next page >>

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

33

APPENDIX B: EDB Postgres Advanced Server


Compatible Package Support cont’d
Package Name Package Description

DBMS_RLS Implements row level security functions in the database blocking users
from seeing each other’s data in the same application.

DBMS_SESSION Functions with the ability to enable and disable roles.

DBMS_UTLTITY A collection of functions for getting information about various runtime


operations and meta data from the database.

UTL_ENCODE Functions to perform Base64 encoding and decoding of data intended


for transport between hosts.

UTL_FILE Allows database procedures to read and write operating system text files
in an I/O stream fashion.

UTL_HTTP Functions that provide the ability to make HTTP calls to access
information on web servers.

UTL_MAIL Provides functions to create, manage, and send email from the database
including attachments, CC, and BCC.

UTL_RAW Functions supporting the manipulation of raw data types.

UTL_SMTP Provides functions for sending mail via SMTP according to the RFC821
specification.

UTL_URL Functions for escaping and “un-escaping” URL strings.

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

34

APPENDIX C:
EDB Postgres Advanced Server
Compatible Catalog Views
EDB Postgres Advanced Server provides over 70 Oracle Catalog Views that provide information about
database objects in a manner compatible with the Oracle data dictionary views.

ALL_ALL_TABLES DBA_CONSTRAINTS USER_CONSTRAINTS

ALL_CONS_COLUMNS DBA_DB_LINKS USER_DB_LINKS

ALL_CONSTRAINTS DBA_IND_COLUMNS USER_IND_COLUMNS

ALL_DB_LINKS DBA_INDEXES USER_INDEXES

ALL_IND_COLUMNS DBA_JOBS USER_JOBS

ALL_INDEXES DBA_OBJECTS USER_OBJECTS

ALL_JOBS DBA_PART_KEY_COLUMNS USER_PART_KEY_COLUMNS

ALL_OBJECTS DBA_PART_TABLES USER_PART_TABLES

ALL_PART_KEY_COLUMNS DBA_POLICIES USER_POLICIES

ALL_PART_TABLES DBA_ROLE_PRIVS USER_ROLE_PRIVS

ALL_POLICIES DBA_ROLES USER_SEQUENCES

ALL_SEQUENCES DBA_SEQUENCES USER_SOURCE

ALL_SOURCE DBA_SOURCE USER_SUBPART_KEY_COLUMNS

ALL_SUBPART_KEY_COLUMNS DBA_SUBPART_KEY_COLUMNS USER_SYNONYMS

ALL_SYNONYMS DBA_SYNONYMS USER_TAB_COLUMNS

ALL_TAB_COLUMNS DBA_TAB_COLUMNS USER_TAB_PARTITIONS

ALL_TAB_PARTITIONS DBA_TAB_PARTITIONS USER_TAB_SUBPARTITIONS

ALL_TAB_SUBPARTITIONS DBA_TAB_SUBPARTITIONS USER_TABLES

ALL_TABLES DBA_TABLES USER_TRIGGERS

ALL_TRIGGERS DBA_TRIGGERS USER_TYPES

ALL_TYPES DBA_TYPES USER_USERS0

ALL_USERS DBA_USERS USER_VIEW_COLUMNS

ALL_VIEW_COLUMNS DBA_VIEW_COLUMNS USER_VIEWS

ALL_VIEWS DBA_VIEWS V$VERSION

DBA_ALL_TABLES USER_ALL_TABLES PRODUCT_COMPONENT_VERSION

DBA_CONS_COLUMNS USER_CONS_COLUMNS

Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.


A Technical Comparison of EDB PostgresTM Enterprise and Oracle® Enterprise

35

www.enterprisedb.com
Copyright © EnterpriseDB Corporation, 2018. All Rights Reserved.
20180307

You might also like