PostgreSQL vs Oracle Differences #3 – System Resources
PostgreSQL has much lower system resource requirements than Oracle. I currently look after ~230 PostgreSQL databases running on various sized servers, including tiny virtual machines. Some servers have as many as 40 databases on them. With Oracle, I don’t think I ever had more than around 10 on a single server.
Oracle’s hardware requirements (11gR2):
- 1 GB disk space in temp directory
- 4.5 GB disk space for binaries (Enterprise Edition)
- 4 GB RAM (for 64-bit install)
- About 512 MB minimum per database
PostgreSQL’s hardware requirements (9.0):
- 25MB disk space for binaries
- I couldn’t even find information on the minimum RAM requirements (go documentation!) but it will pretty much run on anything.
If you are considering a change of platform from PostgreSQL to Oracle, this is a major consideration. With it being so easy to create new PostgreSQL databases, they tend to breed themselves over time. The hardware you have now probably won’t cut it if moving to Oracle.
Oracle is very memory hungry, and every version wants more memory for new features. All this extra memory usage lets it perform extremely well on modern hardware, but it also means there is a considerable overhead for every database. PostgreSQL can run on very little memory and in fact its default parameters are suitable for a server with about 256MB. PostgreSQL is also different in that its memory allocation is for the entire cluster, not individual databases. So I can have as many databases as I like running in that 256MB (there are some cumulative overheads, but very minimal). As backend connections are made to the PostgreSQL databases, they spawn extra processes and may require some extra memory for large workloads.
Oracle also has a large number of background processes all competing for CPU (about 10 for a default installation). They are very efficient, but are still there – for every single database. PostgreSQL also has a few background processes (about 5) but they only appear once for the entire cluster.
Other posts in this series:
PostgreSQL vs Oracle Differences #4 – Shared Memory Usage
PostgreSQL vs Oracle Differences #2 – Support
PostgreSQL vs Oracle Differences #1 – Clusters
Article Series
Kick Ass PostgreSQL Books
Recent Posts
Kick Ass Oracle Books
Popular Posts
- Top 10 Missing PostgreSQL Features 487 view(s)
- PostgreSQL vs Oracle Differences #4 - Shared Memory Usage 371 view(s)
- PostgreSQL vs Oracle Differences #3 - System Resources 331 view(s)
- pg_restore: [archiver] unsupported version (1.12) in file header 289 view(s)
- PostgreSQL - Dropping a template database 265 view(s)
- PostgreSQL Database Capacity Planning 1 - Disk Space 148 view(s)
- PostgreSQL vs Oracle Differences #1 - Clusters 145 view(s)
- PostgreSQL vs Oracle Differences #2 - Support 99 view(s)
Archives
- March 2012 (1)
- September 2011 (1)
- August 2011 (2)
- July 2011 (3)
- June 2011 (10)
- May 2011 (10)
- April 2011 (7)
- March 2011 (10)
- February 2011 (5)
- January 2011 (1)
- December 2010 (4)
- November 2010 (2)
- October 2010 (3)
Tags
Categories
- Linux (23)
- Oracle (6)
- PostgreSQL (55)
- Uncategorized (1)
- Windows (7)



