Neues vom PostgreSQL Planet
Pierre Ducroquet: JIT, episode III: warp speed ahead
In our first JIT episode, we discussed how we could, using copy-patch, easily create a JIT compiler for PostgreSQL, with a slight improvement in performance compared to the PostgreSQL interpreter.
Elizabeth Garrett Christensen: Postgres Scan Types in EXPLAIN Plans
The secret to unlocking performance gains often lies not just in what you ask in a query, but in how Postgres finds the answer. The Postgres EXPLAIN system is great for understanding how data is being queried. One of secretes to reading EXPLAIN plans is understanding the type of scan done to retrieve the data. The scan type can be the difference between a lightning-fast response or a slow query.
Today I’ll break down the most common scan types, how they work, and when you’ll see them in your queries.
ahmed gouda: Integrating Custom Storages with pgwatch
As a PostgreSQL-specific monitoring solution, pgwatch is mostly known for storing collected metrics in a PostgreSQL database. While great, as you probably should "just Use Postgres for everything" xD... in some scenarios and specific setups, this might be a limitation.
Dave Page: Building a RAG Server with PostgreSQL - Part 1: Loading Your Content
Retrieval-Augmented Generation (RAG) has become one of the most practical ways to give Large Language Models (LLMs) access to your own data. Rather than fine-tuning a model or hoping it somehow knows about your documentation, RAG lets you retrieve relevant content from your own sources and provide it as context to the LLM at query time. The result is accurate, grounded responses based on your actual content.In this three-part series, I'll walk through building a complete RAG server using PostgreSQL as the foundation. We'll cover:
Ahsan Hadi: Introducing Snowflake Sequences in a Postgres Extension-2
In a PostgreSQL database, sequences provide a convenient way to generate a unique identifier, and are often used for key generation. From the community, PostgreSQL provides functions and SQL language to help manage sequence generation, but the sequences themselves are not without limitations in a multi-master environment.
Robins Tharakan: Speed up JOIN Planning - upto 16x Faster!
Boriss Mejias: Contributions for week 49, 2025
PostgreSQL Belgium User Group had a new meetup on November 25, in Haasrode, Leuven, organized by Kim Jansen, An Vercammen, Boriss Mejías and Stefan Fercot.
Speakers:
- An Vercammen
- Marco Huygen
- Priyanka Mittal
- Boriss Mejías
Related blog post by Kim Jansen
Laurenz Albe: What is better: a lookup table or an enum type?
© Laurenz Albe 2025
Sometimes a string column should only contain one of a limited number of distinct values. Examples would be the current state of a service request or the US state in an address. There are several ways to implement such a column in PostgreSQL, the most interesting being an enum type or a lookup table. In this article, I will explore the benefits and disadvantages of these methods.
Gabriele Bartolini: CNPG Recipe 23 - Managing extensions with ImageVolume in CloudNativePG
Say goodbye to the old way of distributing Postgres extensions as part of the main pre-built operand image. Leveraging the Kubernetes ImageVolume feature, CloudNativePG now allows you to mount extensions like pgvector and PostGIS from separate, dedicated images. This new declarative method completely decouples the PostgreSQL core from the extension binaries, enabling dynamic addition, easier evaluation, and simplified updates without ever having to build or manage monolithic custom container images.
Tom Kincaid: Part 3: Postgres Journey to the top with developers
This blog provides my opinion on how Postgres, according to the annual Stack Overflow developer survey, became the most admired, desired and used database by developers. This is part three in my series about the Postgres journey to the top with developers. Here are the first parts of this story:
Henrietta Dombrovskaya: November Meetup Recording
And our last 2025 recording is here! Check out Jay Miller’s talk!
Ian Barwick: PgPedia Week, 2025-11-30
Floor Drees: Contributions for week 48, 2025
Seattle Postgres Users Group (SEAPUG) maintained the PostgreSQL booth at PASS Data Community Summit 2025 from November 17-21, 2025:
- Lloyd Albin
- Jeremy Schneider
- Harry Pierson
- Ben Chobot
- Deon Gill
- Rick Lowe
- Pavlo Golub
Speakers:
Jeremy Schneider: Postgres Booth at PASS Data Community Summit
PASS Data Community Summit 2025 wrapped up last week. This conference originated 25 years ago with the independent, user-led, not-for-profit “Professional Association for SQL Server (PASS)” and the annual summit in Seattle continues to attract thousands of database professionals each year. After the pandemic it was reorganized and broadened as a “Data Community” event, including a Postgres track.
Shinya Kato: Analyzing psqlrc Settings on GitHub: How PostgreSQL Engineers Configure PostgreSQL
Recently, I read an article titled "Alias Settings of Engineers Around the World" (in Japanese). As a PostgreSQL engineer, this got me thinking: "If they are customizing their bash aliases, how are they configuring their psql environments?"
Driven by curiosity, I decided to investigate GitHub repositories to see how developers commonly configure their psqlrc files.
Hubert 'depesz' Lubaczewski: Using JSON: json vs. jsonb, pglz vs. lz4, key optimization, parsing speed?
Robins Tharakan: Teaching Query Planner to See Inside C Functions
Jan Wieremjewicz: TDE is now available for PostgreSQL 18
Back in October, before PGConf.EU, I explained the issues impacting the prolonged wait for TDE in PostgreSQL 18. Explanations were needed as users were buzzing with anticipation, and they deserved to understand what caused the delays and what the roadmap looked like.
Robins Tharakan: Settling COUNT(*) vs COUNT(1) debate in Postgres 19
Dave Stokes: DBeaver's Visual Query Builder
Quick! You need to create a complex query, but you don't remember how to join the tables. And you need to get it done ASAP.
You are in luck if you have an enterprise edition of DBeaver handy. You can drag and drop the tables and then adjust the clauses as needed without having to dig into the table definitions.
1. Open the database

