Oracle uses a highly centralized enterprise-grade architecture with advanced integrated
components, while PostgreSQL uses a simpler, modular, process-per-connection architecture
emphasizing openness and extensibility.
Oracle architecture
Client
↓
Listener
↓
Oracle Instance
├── SGA Memory
├── Background Processes
└── Database Files
In case of ProstGreSQL, there is dedicated Background process for each connection.
Exclusive thing – process per connection, here extensibility is easy, there is command
CREATE EXTENSION <something>;
Extensibility - Can system be easily customized/enhanced?
PostGre had usual data type, then a community added a datatype which can hold the GPS/Spatial
Locaiton.
Ex- we can store the location of office and nearby shops and make a search for shops within 3
km from office.
Similarly extension was released for TimeScaleDB (capability to hold and handle time series
data.
Scalability - Can system handle huge workload efficiently? Oracle is good at it.
Different commands
Oracle - LENGTH(NAME)
PostGre - CHAR_LENGTH(NAME
Select sysdate from dual;
Select current_date; -no dual table in PostGre