Free and Open Source DBMS - PostgreSQL

PostgreSQL is an open source object-relational database system equipped with very rich functionalities to manage a database and its data. It store and manipulate simple data using its basic data types. More complex or large data such as images, sounds, or video can also be managed using binary large objects. It also supports additional database constructs such as joins, subqueries, views, triggers, and stored procedures that are required to manage databases and its data. It strongly conforms to the ANSI-SQL:2008 standard and is also fully ACID compliant. It can run on all major operating systems including Windows, and Linux.

PostgreSQL was developed in 1980s under the leadership of Michael Stonebraker, at University of California, Berkeley. It is currently managed by PostgreSQL Global Development Group, a diverse group of many individual contributors and companies. It is licensed under the terms of the PostgreSQL License, a permissive free-software license. It has released PostgreSQL version 9.6.1, its newest version at the time of this writing, in October of 2016.

PostgreSQL can accommodate unlimited size of database, with maximum sizes of table, row, and field as 32 TB, 1.6 TB, and 1 GB respectively. It allows for unlimited number of rows per table and upto 1600 columns depending the type and size of each column. It also allows for unlimited indexes per table. 

PostgreSQL is highly secured system and manages its internal security on a per-role basis. Additional Features of PostgreSQL include:
  • Standard function library with predefined functions for math, string operations, conversions, compatibility, etc.
  • Native code interfaces support for C/C++, Java, .Net, Python, Ruby, etc.
  • Includes international character sets and multibyte character encodings.
  • Allows “localized” case-differentiation, sorting, and formatting
  • Allows nested and asynchronous replication of transactions.
  • Has fully relational system catalog to support multiple schemas per database.
  • Supports compound, unique, partial, and functional indexes which can use any of its B-tree, R-tree, hash, or GiST storage methods.
  • Supports table inheritance to derive tables from existing tables.
  • Allows to create rules with query rewrite system - a rules system, that dynamically transforms queries 
  • An event system that allows client based peer-to-peer communications based on database events.
  • Data type extensibility to create user define data types with supporting functions and operators.
  • Provides for online or hot backups and restore
  • Includes an intelligent query planner or optimizer for query optimization.
  • Fault tolerance is managed by write ahead logging facility.
  • Supports simultaneous version development using Multi-Version Concurrency Control (MVCC) 

More on Free and Open Source software, their fundamentals, philosophy, development models and business models in ...


To Order this book click here