PostgreSQL is an open source, powerful, reliable, stable, enterprise-ready and free object-relational database system in the style of MariaDB, MySQL or SQLite projects. It’s an ACID (Atomicity, Consistency, Isolation, Durability) compliant database server/engine that can be highly customized and includes numerous attractive features, making a great replacement for the aforementioned database engines.
Features at a glance
Key features include support for foreign keys, views, joins, triggers and stored procedures, support for multiple languages, support for a wide range of SQL data types, including BOOLEAN, CHAR, INTEGER, NUMERIC, VARCHAR, INTERVAL, TIMESTAMP and DATE.
In addition, the software comes with support for storaging binary large objects, including all sorts of multimedia files (video, audio and photo), and provides developers with native programming interfaces for the C, C++, Python, Perl, Ruby, Java, .Net, Tcl and ODBC programming languages.
Among other interesting features, we can mention MVCC (Multi-Version Concurrency Control), tablespaces, multibyte character encodings, point in time recovery, a mature query optimizer and planner, asynchronous replication, online backups, nested transactions (popularly known as savepoints), hot backups, write ahead logging for fault tolerance, support for international character sets, as well as Unicode support.
PostgreSQL in numbers
At the moment, the PostgreSQL database server supports unlimited size for databases, 32 TB should be the maximum size for tables, 1.6 TB per row, 1 GB per field, unlimited rows per table, supports between 250 and 1600 columns per table, depending on column types, and supports unlimited indexes per table.
Supported operating systems
The PostgreSQL has been successfully tested on all mainstream operating systems, including GNU/Linux, BSD, Solaris, HP-UX, AIX, SGI IRIX, Solaris, Tru64, Mac OS X and Microsoft Windows. PostgreSQL is available for download as a universal source archive, as well as pre-compiled binary packages for many Linux distributions, supporting both 32-bit and 64-bit architectures.