Browsing articles from "April, 2011"
Apr 21, 2011
Nathan Thom

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

Pages:1234567»

Article Series

Kick Ass PostgreSQL Books

Kick Ass Oracle Books

I've read lots of Oracle books, but these are by far the best I've encountered:

Categories