PostgreSQL Logo

PostgreSQL: open-source SQL Database

PostgreSQL is a powerful, open source object-relational Database system with a strong reputation for reliability, feature robustness, and performance. PgPool-II is a middleware that sits between PostgreSQL servers and a PostgreSQL database client that extends PostgreSQL with clustering capabilities and provide many features like: Connection Pooling, Load Balancing, Replication, Automated Fail Over and Recovery, etc.
Written in: C

Download PostgreSQL: Source Code and Binaries

License: OpenSource PostgreSQL License

Project Website: postgresql.org

Documentation: postgresql.org/docs


Project Goals
  • PostgreSQL is a feature-rich database that can handle complex queries and massive databases.
  • It is an object-relational database (ORDBMS) with features like table inheritance and function overloading, where as MySQL is a pure relational database (RDBMS).
  • PostgreSQL supports Transactional DDL and True Serializable Transactions (MySQL does not).
  • Also supports: json data types, table spaces, views, foreign tables and most of the traditional SQL server features.
Project Features
  • PostgreSQL has multi-version concurrency control (MVCC mechanism) that can assure real serializable transactions but also nested transactions (savepoints).
  • It implements a sophisticated locking mechanism, foreign key referential integrity and table inheritance.
Project Design and Security
  • PostgreSQL have various settings can customize the security level for each user to particular databases or other functionalities.
  • It implements key functionalities such as: tablespaces, point-in-time recovery, views, rules, subquery, user-defined types, json-b fields.

Sample Configuration
## Sample Configuration for PostgreSQL @ /etc/postgresql/postgresql.conf

# - Connection Settings -
listen_addresses = '127.0.0.1,localhost'
port = 5432
max_connections = 255
superuser_reserved_connections = 5

# - Memory -
shared_buffers = 512MB
temp_buffers = 32MB
work_mem = 16MB
maintenance_work_mem = 256MB
max_stack_depth = 4MB
dynamic_shared_memory_type = posix

# CLIENT CONNECTION DEFAULTS

# - Statement Behavior -
datestyle = 'iso, mdy'
timezone = 'UTC'
lc_messages = 'C'
lc_monetary = 'C'
lc_numeric = 'C'
lc_time = 'C'

# default configuration for text search
default_text_search_config = 'pg_catalog.english'

## END