The SQL standard defines a set of rules so that database systems can be interchangeable, but there are small singularities in the wild. In this regard, the hierarchyid data type provided by SQL S...
When we introduced columnar compression for Postgres in 2019, our goal was to help developers scale Postgres and efficiently manage growing datasets, such as IoT sensors, financial ticks, produc...
This post contains the slides and transcript from the talk that I gave at PyCon Italia 2024 , and at EuRuKo 2024 . You can also watch the video from PyCon Italia here . "ELEVATOR PITCH" Yo...
WHY SOLID QUEUE? Background jobs are used commonly in Ruby on Rails apps to perform any work possible outside of a user request. A classic example is sending an email to a new user, where that d...
SQL makes sense when it's working on a single row, or even when it's aggregating across multiple rows. But what happens when you want to compare between rows of something you've already calculate...
Time for yet another “first patch” idea post ;-) This time it’s about BRIN indexes. Postgres has a contrib module called amcheck , meant to check logical consistency of objects (tables and ...
PostgreSQL Person of the Week Interview with Andrew Atkinson: I’m a programmer, dad, and husband, and live with my family in Minneapolis, Minnesota, a northern state in the USA. I’ve worked r...
Last Wednesday (September 11, 2024), PGDay UK took place in London. Some of my colleagues live in the area (or not too far away), so it was a great occasion to spend time together! Since London ...
A key metric when evaluating vector similarity search algorithms is “recall ” - which measures the relevancy of the returned search results. Typically better recall means better quality sear...
The PostGIS Team is pleased to release PostGIS 3.5.0beta1! Best Served with PostgreSQL 17 RC1 and GEOS 3.13.0 . This version requires PostgreSQL 12 - 17, GEOS 3.8 or higher, and Proj 6.1+. To ...
Tansu is an Apache Kafka API compatible broker with a PostgreSQL storage engine. Acting as a drop in replacement, existing clients connect to Tansu, producing and fetching messages stored in Pos...
Tomas Vondra held his first "PostgreSQL Office Hour" meeting. Details about the project are available here , "office hours" must be booked in advance. PGDay UK 2024 , which took place on Septem...
PostgreSQL Person of the Week Interview with Sarah Conway: I am from Southern California, where I’ve spent a lot of time hiking in the beautiful local deserts and pursuing many creative endeavo...
Indexes are crucial for accelerating database queries, and enhancing the performance of your PostgreSQL applications. However, not all indexes function the same way. Composite and partial indexes...
Forgive me Postgres community, for it has been five months since my last PGXN v2 Update . In my defense, it has been super busy! The time went into ongoing community discussions, planning, design...
I’ve submitted a lot of talk proposals to a lot of Postgres conferences over the years. Some got accepted, many more were not. And I’ve been on the other side of this process too, as a member...
People tend to think that a SELECT-operation is always a read. This might look obvious and make sense but does it actually hold true? Is a SELECT-statement a read? Can we really determine from th...
CloudNativePG 1.24 introduces a highly customisable approach to managing PostgreSQL synchronous replication through the new .spec.postgresql.synchronous stanza. In this article, I’ll guide you ...
In an increasingly globalized world, companies and organizations are leveraging distributed systems to handle massive amounts of data across geographically separated locations. Whether it is for ...
Sarah Conway organized a great community outreach campaign for Timescale's State of PostgreSQL survey for 2024 , promoted by community partners: Doug Ortiz Elizabeth Garrett Christensen Gü...
PostgreSQL Person of the Week Interview with Philippe Noël: My name is Philippe. I was raised in the woods of Québec, in a small town called Rivière-du-Loup. I moved to the US for university, ...
The focus of your backup strategy should not be backups. Instead, you should be focused on restoring databases, because, after all, that’s what matters. Simply having a backup is fine. However,...
One my customer asked me "what tables holds references to table pg_roles"? The reply is simple - none. pg_roles is view. But this view uses very important table pg_authid. For custom tables we c...
In this post, you’ll learn a recipe that you can use to “shrink” a large table. This is a good fit when only a portion of the data is accessed, the big table has become unwieldy, and you do...
Backups are dead. Now that I have your attention, let me clarify. Traditional backups have earned a solid reputation for their reliability over time. However, they are dead in the sense that a ba...
Recently, I had to address a support case where a user was struggling to perform Point-in-Time Recovery in his PostgreSQL cluster using streaming replication. We have already discussed how to ach...
I previously blogged about ensuring that the “ON CONFLICT” directive is used in order to avoid vacuum from having to do additional work. You can read the original blog here: Reduce Vacuum by ...
Designing a database schema, whether for a new application or a new feature, always raises a lot of questions. The choices you make can have a big impact on how well your database performs and ho...
TIMESCALE POSTGRESQL SURVEY Timescale Inc. is a well known company in the PostgreSQL community, mostly because of their PostgreSQL extension TimescaleDB . The survey for 2024 is open now un...
INTRODUCTION Running ANALYZE (either explicitly or via auto-analyze) is very important in order to have uptodate data statistics for the Postgres query planner. In particular after in-place upgr...