What is it?
PostgreSQL is one of the "free" open source relational database management systems pushing Oracle, IBM and other database suppliers to change the way they do business. It was developed as the successor to Ingres, one of the big five relational database management systems of the 1980s.
Since Version 8.0, PostgreSQL has been a serious choice for enterprise database users, with features such as Java stored procedures, point-in-time recovery, asynchronous replication, and nested transactions. Sun Microsystems has integrated it into Solaris, and Novell supports and promotes it for Netware. PostgreSQL is the main alternative to MySQL in the Lamp (Linux, Apache, MySQL/PostgreSQL, Perl/PHP/Python) development stack, but it is also available in a native Windows port.
Ingres has survived many changes of ownership and has retained a loyal following. It is undergoing a renaissance as a potential open source competitor to Oracle.
Where did it originate?
Development of Postgres began at the University of California, Berkeley, by Michael Stonebraker, creator of Ingres and later chief technology officer at Informix, another of the 1980s/1990s big five database suppliers.
Where Ingres had been relational, Postgres was object relational. Postgres became Informix's Illustra, later bought by IBM and incorporated into DB2. In the mid-1990s, the Postquel query language was replaced with SQL, and the renamed PostgreSQL was launched at version 6.
What is it for?
PostgreSQL is highly customisable. It runs stored procedures in more than a dozen programming languages, including Java, Perl, Python, Ruby, Tcl, C/C++ and PL/pgSQL. There is a growing selection of commercial and open source data modelling, administration, development and reporting tools, and a framework that allows developers to define and create custom data types.
What makes it special?
Like MySQL, PostgreSQL does not attempt to compete directly with commercial databases. As the PostgreSQL.org website puts it, "PostgreSQL has most features present in large commercial database management systems, such as transactions, subselects, triggers, views, foreign key referential integrity, and sophisticated locking. We have some features they do not have, such as user-defined types, inheritance, rules, and multi-version concurrency control."
Similarly, the site says PostgreSQL's performance is comparable to other commercial and open source databases, "faster for some things, slower for others".
How difficult is it to master?
Developers will need experience of SQL. Experienced SQL database administrators can retrain to PostgreSQL in two days.
Where is it used?
PostgreSQL has less of a following in the UK than in the US (where it is used by many government agencies and universities), Japan (particularly in telecoms) and other parts of Europe (BASF is a big user). Corporate sponsors backing the PostgreSQL Global Development Group include Fujitsu, NTT, Skype, Red Hat and Sun.
What systems does it run on?
Linux, most versions of Unix, Windows, Mac OS X and Novell Netware. Ports are available for legacy operating systems such as OS/2.
What is coming up?
There is a major release every year. Version 8.2, launched in December 2006, promised 20% better performance in high-end online transaction processing and extra support for ANSI SQL 2003.
PostgreSQL books, reviews, technical documentation, tutorials and details of training events are available on the PostgreSQL website, where you can also download PostgreSQL itself. PostgreSQL training is available from a growing number of independent training providers, and through Sun and Fujitsu.
Rates of pay
Salaries for PostgreSQL developers start at £25,000, database administrators can expect £30,000, and those offering PostgreSQL with Oracle skills can command much higher rates.
Comment on this article: firstname.lastname@example.org