Thom Brown

Engineering Project Manager, EDB

As the Engineering Project Manager, Thom coordinates and schedules the project work of the engineering team, manages any escalated issues related to community PostgreSQL and the EDB Postgres™ Advanced Server, and liaises with the support, release, test, and change management teams. His activities in the PostgreSQL community include responding to user questions relating to feature use, configuration and performance, testing new feature patches, and providing input to development discussions.

Read Blogs

Postgres Tutorials
This article reviews the differences between stored procedures and functions in Postgres and the types of functionality they provide.
Postgres Tutorials
This article discusses methods for comparing and combining multiple queries into a single result set in PostgreSQL.
Postgres Tutorials
This article discusses the differences between how Oracle and PostgreSQL evaluate NULL characters and empty strings. Oracle reads empty strings as NULLs, while PostgreSQL treats them as empty. Concatenating NULL values with non-NULL characters results in that character in Oracle, but NULL in PostgreSQL.
Postgres Tutorials
This article notes the rise in popularity of PostgreSQL among enterprise businesses and discusses some of the advantages PostgreSQL offers over other database systems.
Postgres Tutorials
This article looks at the UNPIVOT function in Oracle and how to reproduce its result using PostgreSQL.
EDB Labs
This article offers tips and shortcuts for performing useful tasks in Postgres. Whole-row references Comparing a selection of columns Hardcoded tables Custom config parameters Booleans can stand alone Convert column data types for free Find which rows belong to which underlying partition Tables are types Whole-row references Have you ever tried running the following statement? SELECT my_table FROM...
EDB Labs
This week, a customer I was working with wanted help setting wal_keep_segments—the number of extra transaction log files to keep on the primary specifically so that standbys could afford to fall behind when using streaming replication. The customer already had it set quite high, but occasionally it wasn't high enough, as their standby would eventually fall behind. I suggested using replication...
SQL/JSON is coming to PostgreSQL 12 and provides a native way to query JSON data (although, to be specific, JSON data stored as a JSONB data type). This also introduces the jsonpath data type which is used for SQL/JSON query expressions. I'll not be going into its usage in detail, or covering performance characteristics (at least not in this post), but I will compare the syntax and functionality...
EDB Labs
This is part 2 in a 4 part blog series on improvements coming in PostgreSQL 9.6.
Product Updates
In my previous blog post about horizontal scalability changes in PostrgreSQL 9.6, I covered pushing sorts and joins to the remote server, but Robert Haas has just committed a change that allows DML (that's UPDATEs and DELETEs) to be pushed to the remote server too.