Tuesday, March 20

Gabriele’s PlanetPostgreSQL

PostgreSQL 9.3 development: Array ELEMENT Foreign Keys

Gabriele's PlanetPostgreSQL
As my French colleague Dimitri Fontaine was pointing out a few days ago, PostgreSQL 9.2 is out. This is another great release for PostgreSQL, but we are already ahead in the development of the next release: PostgreSQL 9.3. The Italian team of 2ndQuadrant has been working since last year on adding a new feature to PostgreSQL: support of referential integrity between the elements of an array in a table (referencing) and the records of another table (referenced). We renamed it "Array ELEMENT foreign keys" - thanks to the feedback received from the hackers list. As you may have guessed, it is not part of the SQL standard. We have submitted a patch for 9.3, but currently it is still missing a reviewer. (more…)

Management of the WAL archive in Barman

Gabriele's PlanetPostgreSQL
Barman, backup and recovery manager for PostgreSQL, is designed to manage the archive of WAL files separately from periodical backups (in Postgres terms, base backups). You can see this archive as a "continuous" stream of files from the first available backup to the last shipped file (backup available history for a server). In this article you will see how Barman manages WAL compression and archival, as well as how a particular WAL file is associated to a base backup in the history, granting database administrator the privilege to immediately know the exact physical size of a periodical backup (WAL files included) through the catalogue. (more…)

Barman is finally out

Gabriele's PlanetPostgreSQL
It took longer than expected, but we have finally managed to release Barman as open-source under GNU GPL 3. Barman stands for "Backup and Recovery Manager" and it is an administration tool for disaster recovery of PostgreSQL servers. Currently only Linux systems are officially supported, however Python allows to plan porting and maintenance on different platforms as well. The idea of starting Barman began about a year ago. We were tired of managing disaster recovery solutions using custom scripts, hard to maintain and to monitor (you probably know what I mean). (more…)

PGDay.IT 2011 was “bellissimo”!

Gabriele's PlanetPostgreSQL
The fifth edition of the Italian PGDay went well beyond our initial expectations. We had about 75 participants, a total of 95 people including staff and speakers.As I said during the event, rather than PGDay Italy, this should be named PGDay for Italian speakers given the presence of staff from Switzerland (Canton Ticino). Participants came from 12 regions: all regions but Val d'Aosta in the north/centre area, but also from Southern Italy (Naples and Calabria). (more…)

How to install multiple PostgreSQL servers on RedHat Linux

Gabriele's PlanetPostgreSQL, PostgreSQL
If you have a Linux server of the RedHat family (inclusing CentOS and Fedora), you might envy the way Debian/Ubuntu distributions handle PostgreSQL clusters management. Although it is not easy to install different PostgreSQL versions on the same RedHat Linux server using RPMs, it is much simpler to install several instances of PostgreSQL (servers) and, at the same time, take advantage of the services infrastructure. (more…)

Installing Greenplum Single Node Edition on Amazon’s EC2

Gabriele's PlanetPostgreSQL, Greenplum
I have been thinking for a while now about adding Greenplum support to an open-source application for web analytics that I wrote a few years ago, which is called ht://Miner and uses PostgreSQL. In order to do this, I need a multi-CPU environment. While still waiting to get our new servers installed here in our data centre in Italy, I decided to look at Amazon's Elastic Compute Cloud (EC2) infrastructure. My intention is to do some benchmarking and spot the main differences in terms of performances between Greenplum Single Node Edition and PostgreSQL 8.4, my favourite DBMS. If you wish to follow this article, you need to have an Amazon AWS account with a valid credit card. Do not worry, this test will only cost you a couple of dollars! (more…)