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.
Training
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.
www.postgresql.org
Comment on this article:
computer.weekly@rbi.co.uk