Skip to content

PostgreSQL

PostgreSQL from installation to production: configuration, streaming replication, high availability with Patroni, backups with pgBackRest, performance tuning, extensions, upgrades and migrations from other database engines.

RAG Series – Embedding Versioning with pgvector: Why Event-Driven Architecture Is a Precondition to AI data workflows

Introduction “Make it simple.” This is a principle I keep repeating, and I’ll repeat it again here. Because when it comes to keeping your RAG system’s embeddings fresh, the industry has somehow made it complicated. External orchestrators, custom Python cron jobs, microservices that call microservices, Airflow DAGs with 47 tasks, all to answer a simple question: when my source data… 

RAG, MCP, Skills — Three Paradigms for LLMs Talking to Your Database, and Why Governance Changes Everything

Introduction Throughout my RAG series, I’ve explored how to build retrieval-augmented generation systems with PostgreSQL and pgvector — from Naive RAG through Hybrid Search, Adaptive RAG, Agentic RAG, and Embedding Versioning (not yet released) . The focus has always been on retrieval quality: precision, recall, nDCG, confidence. But I want to take a step back. In conversations with colleagues, clients,… 

Oracle to PostgreSQL Migration with Flink CDC

Introduction When wanting to migrate from the big red to PostgreSQL, most of the time you can afford the downtime of the export/import process and starting from something fresh. It is simple and reliable. Ora2pg being one of the go-to tools for that. But sometimes, you can afford the downtime, either because the database is critical for business operations or… 

RAG Series – Agentic RAG

Introduction In earlier parts, we moved from Naive RAG (vector search) to Hybrid RAG (dense + sparse) to Adaptive RAG (query classification and dynamic weighting). Each step improved what we retrieve. Agentic RAG goes further: the LLM decides if and when to retrieve at all and can take multiple steps (retrieve → inspect → refine → retrieve) before answering. Retrieval… 

pgconf.eu 2025 – RECAP

I was fortunate to be able to attend at the pgconf.eu 2025. This year event was happening in RIGA and joined together once again key members of the community, contributors, committers, sponsors and users from across the world. I would summarize this year event with those three main topics : AI/LLM – PG18- Monitoring. AI/LLMs Compared to last year the… 

RAG Series – Adaptive RAG, understanding Confidence, Precision & nDCG

Introduction In this RAG series we tried so far to introduce new concepts of the RAG workflow each time. This new article is going to introduce also new key concepts at the heart of Retrieval. Adaptive RAG will allow us to talk about measuring the quality of the retrieved data and how we can leverage it to push our optimizations… 

RAG Series – Hybrid Search with Re-ranking

Introduction In the first part of this RAG series, we established the fundamentals of Naive RAG with dense vector embeddings on PostgreSQL using pgvector. That foundation works well for conceptual queries, but production systems quickly reveal a limitation: pure semantic search misses exact matches like you would have with like or Full-text searches. When someone searches for “PostgreSQL 17 performance… 

RAG Series – Naive RAG

Introduction Since my last series on pgvector I had quite a fun time to work on RAG workflows on pgvector and learned some valuable lessons and decided to share some of it in a blog post series on the matter. We will discover together where all RAG best practices are landing for the past 2 years and how can as… 

PostgreSQL CDC to JDBC Sink – minimal event driven architecture

Introduction “Make it simple.” When you have to create a solution, design an architecture, you should always take the simplest path, this is often the better solution proven by field knowledge and experiences of not scalable patterns. Which means also that you should only add the necessary and required complexity to your solutions. So while following this principle I tried… 

Technological debt with AI workflows: When data hits the fan?

AI projects are increasing and with it comes some risks that are or not related to this technology. Some organizations are jumping straight into “plug the LLM into a vector database” ( like Pinecone, Qdrant, pgvector…) at the risk of replaying the lift-and-shift mistakes made on the cloud projects. This time, hiding years of data-quality, governance, code, architectural debt behind…