Buildfarm RSS feed

If you’ve visited almost any web page on the PostgreSQL Build Farm server in the last few days you might have noticed that it is sporting a new RSS feed, of changes in status. This is similar to the information on the buildfarm-status-green-chgs mailing list, except that it has all status changes, not just to […]

PostgreSQL Buildfarm Client Release 10

Announcing Release 10 of the PostgreSQL Buildfarm client Principal feature: support for non-standard repositories: support multi-element branch names, such as “dev/featurename” or “bug/ticket_number/branchname” provide a get_branches() method in SCM module support regular expression branches of interest. This is matched against the list of available branches prune branches when doing git fetch. This feature and some […]

Where and when you need a root.crt file

This is something people seem to get confused about quite often. A root.crt file is used to validate a TLS (a.k.a. SSL) certificate presented by the other end of a connection. It is usually the public certificate of the Certificate Authority (CA) that signed the presented certificate, and is used to validate that signature. If a non-root […]

PostgreSQL Buildfarm Client Release 9

Announcing Release 9 of the PostgreSQL Buildfarm client. Along with numerous fixes of minor bugs and a couple of not so minor bugs, this release has the following features: new command line parameter –run-parallel for runs all branches in parallel, possibly across animals as well new config setting max_load_avg inhibits a run if the […]

Adding new table columns with default values in PostgreSQL 11

In PostgreSQL version 10 or less, if you add a new column to a table without specifying a default value then no change is made to the actual values stored. Any existing row will just fill in a NULL for that column. But if you specify a default value, the entire table gets rewritten with […]

Managing Freezing in PostgreSQL

Postgres contains a moving event horizon, which is in effect about 2 billion transactions ahead of or behind the current transaction id. Transactions more than 2 billion ahead of or more than 2 billion behind the current transaction id are considered to be in the future, and will thus be invisible to current transactions. Postgres […]

Keeping our perl code clean

Recently I have been refining and adding utilities to look after our Perl code.  You might be surprised to learn that as well as 1.3 million or so lines of C code, there are about 30,000 lines of Perl code in our sources. This a sizeable body of code, even if it’s dwarfed by our […]

Road test your patch in one command

If you have Docker installed on your development machine, there is a simple way to road test your code using the buildfarm client, in a nicely contained environment. These preparatory steps only need to be done once. First clone the repository that has the required container definitions: git clone bf-docker Then build a container […]

PostgreSQL Buildfarm Client Release 8

I have just release version 8 of the PostgreSQL Buildfarm client It can be downloaded from or This release contains a number of small changes to make using the –from-source feature a bit nicer. It also contains a good deal of code cleanup to be perlcritic clean, with some exceptions, down to severity […]