Andrew Dunstan
Andrew Dunstan is a Senior Principal Engineer at EDB. He has been contributing to the PostgreSQL project for more than 20 years, and for most of that time has been one of the project's core committers.
Among the features he has contributed to are the Windows port, CSV import and export, parallel pg_restore, and the JSON and JSONB data types and associated functions. In 2004 he created the PostgreSQL Build Farm, which he still maintains.
Andrew joined 2ndQuadrant in 2016 and EDB in 2020 when it acquired 2ndQuadrant.
Read Blogs
Technical Blog
One of the great things about PostgreSQL's jsonb type is the flexibility it gives you — you can store whatever structure you need without defining columns up front. But that flexibility comes with a trade-off: there's nothing stopping bad data from getting in. You can slap a CHECK constraint on a jsonb column, but writing validation logic in SQL or PL/pgSQL for anything beyond the trivial gets...
Technical Blog
From time to time I see questions from otherwise well informed people about how the PostgreSQL Build farm checks how pg_upgrade checking is done across versions, e.g. how does it check upgrading from release 9.5 to release 18. I realize that this isn't well documented anywhere, so here is a description of the process. All of the code referenced here can be found at https://github.com/PGBuildFarm...
Technical Blog
Thomas Munro recently put together a page that shows a summary of the buildfarm builds for the tip of each branch. That looked neat to me, but rather than scraping data from the web interface, it seemed to me that it would be better done in the buildfarm server itself, with data drawn direct from the database. The only problem with this was that we haven't kept track of which commits are at the...
Technical Blog
From time to time we see queries about best practice for PostgreSQL backups. I saw one just the other day. The first thing to note is that a backup strategy needs to be part of a more complete Disaster Recovery plan. This plan needs to identify what risks it is addressing, and how they are being mitigated. The DR plan should be regularly reviewed and tested with simulated disasters. One very well...
EDB Labs
How and when to use SSL Client Certificates for Authentication with PostgreSQL
Technical Blog
Con el lanzamiento de PostgreSQL 13, realizado el día de ayer, quizás sea un buen momento para hablar de cuándo y cómo debería implementarse la nueva versión de la base de datos. A menudo escuchamos preguntas como "¿Cuándo debería actualizar?" y "¿Debería cambiar mi plan de nueva implementación a la nueva versión?" Lo primero que hay que considerar es esto: no debería implementar ningún software...
Technical Blog
With the release yesterday of PostgreSQL 13, now is perhaps a good time to talk about when and how it should be deployed. We often get questions at such times like "When should I upgrade?" and "Should I switch my new planned deployment to the new release?" The first thing to consider is this: you shouldn’t deploy any software you haven’t tested with. So unless you have been testing your app...
Technical Blog
Let’s say you have two PostgreSQL servers that connect to each other using postgres_fdw. They communicate over TLS and they use client certificates to authenticate. You have a Certificate Authority you have set up, and it has issued server and client certificates for each server. On server one you have server1.crt, server1.key, client1.crt, client1.key and root.crt. On server two you have similar...
Technical Blog
Daniel Gustafsson has done some terrific work on using NSS as an alternative TLS library to OpenSSL for PostgreSQL. I’ve done some work making that build and run on Windows. Daniel recently asked how to get a working NSS on Windows to use for development, and this blog is about that process. First you need to start with a clean Windows environment. The simplest way is a new virtual machine...