


Keep talking
In the previous post we configured three devuan servers from scratch using ansible adding the pgdg repository to the apt sources and installing the PostgreSQL binaries.
This tutorial will revisit the apt role’s configuration and will introduce a new role for configuring the postgres operating system’s user for passwordless ssh connections to each other server.

Modern times
The ansible is a fictional device invented by Ursula K. Le Guin. The ansible allows fast communication between two points across the space, regardless of the distance.
It doesn’t surprise that the Red Hat’s ansible shares the same name as it gives a simple and efficient way to manage servers and automate tasks, yet remaining very lightweight with minimal requirements on the target machines.

The maze of the elephant
In the previous post we introduced the PostgreSQL’s dependency system.
At first sight the implementation can look like a maze where the succession of relationships are not clear.
This post will try to give a practical example to show how pg_depend
can act like an Ariadne’s thread in order to resolve the dependencies.
The scenario presented is very simple but can be used as a starting point for more complex requirements.
An apology for the Pycon 9
The 20th of April I was supposed to give the pgchameleon’s talk at the Pycon 9. However personal issues prevented me to come to Florence. This post is an explanation and an apology for the pycon 9 attendees and organisers.

DBA may cry
Database administrators usually work behind the scenes, over the weekends and in antisocial hours. They strive to look after the database which is at the core of any business with little or no recognition.
The sad truth is that the DBA is one of the most obscure and one of the less appreciated roles within the IT organisations.

The dependency ladder
One of the things that distinguish PostgreSQL from other database systems is the way the dependencies between database objects are managed.
PostgreSQL do not allow any invalid object like views or functions. Therefore any action that can invalidate dependent objects results in an error or it’s propagated to the dependent objects.
The mechanism could be confusing at first sight. However the implementation is brilliant and gives great flexibility.

New adventures in time and space

Build your own aggregate
Before the release of pg_chameleon 2.0 I had to write an upgrade procedure to allow a smooth migration from the version 1.8.
An interesting challenge I faced was to determine the maximum and minimum position for the MySQL’s binary logs belonging to the same server but stored with different values in multiple sources.
The user defined aggregates, a feature pretty unique to PostgreSQL, allowed me to solve the problem in a robust and simple way.
