PostgreSQL is a powerful, open source object-relational database system with over 35 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance.
PostgreSQL is ACID-compliant (atomicity, consistency, isolation, durability). ACID is a set of properties of database transactions intended to guarantee data validity despite errors, power failures, and other mishaps.
PostgreSQL can link to other systems to retrieve data via foreign data wrappers. These can take the form of any data source, such as a file system, another relational database management system, or a web service. This means that regular database queries can use these data sources like regular tables, and even join multiple data-sources together.
Procedural languages allow developers to extend the database with custom subroutines - stored procedures. These procedures can be used to build database triggers and custom data types and aggregate functions. Procedural languages can also be invoked without defining a function, using a DO command at SQL level.
PostgreSQL server is process-based, and uses one operating system process per database session. Multiple sessions are automatically spread across all available CPUs by the operating system. Many types of queries can also be parallelized across multiple background worker processes, taking advantage of multiple CPUs or cores. Client applications can use threads and create multiple database connections from each thread.