PostgreSQL and Launchpad

Why PostgreSQL?

PostgreSQL was chosen in 2004 because it supported most of the features we thought we would need; MySQL did not. The other contender was Oracle, and for a while we made sure we would be able to switch to Oracle if necessary but PostgreSQL has worked great.

How integrated is the database in the code?

Highly. We make use of PostgreSQL specific features, such as:

  • SQL language extensions

  • PL/pgSQL and Python stored procedures

  • Triggers

  • Functional indexes

  • Automatic load balancing over the replicas with Slony-I

  • Transactional DDL

  • tsearch2 full text search

  • Database permissions