PostgreSQL RAG, MCP, Skills — Three Paradigms for LLMs Talking to Your Database, and Why Governance Changes Everything 15.02.2026 by Adrien Obernesser 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)(…)
Oracle, PostgreSQL Oracle to PostgreSQL Migration with Flink CDC 30.11.2025 by Adrien Obernesser 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(…)
PostgreSQL RAG Series – Agentic RAG 26.10.2025 by Adrien Obernesser 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(…)
PostgreSQL pgconf.eu 2025 – RECAP 26.10.2025 by Adrien Obernesser 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(…)
PostgreSQL RAG Series – Adaptive RAG, understanding Confidence, Precision & nDCG 12.10.2025 by Adrien Obernesser 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(…)
PostgreSQL RAG Series – Hybrid Search with Re-ranking 05.10.2025 by Adrien Obernesser 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(…)
PostgreSQL RAG Series – Naive RAG 28.09.2025 by Adrien Obernesser 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.
PostgreSQL PostgreSQL CDC to JDBC Sink – minimal event driven architecture 14.09.2025 by Adrien Obernesser 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(…)
PostgreSQL PostgreSQL 17-18 major upgrade – blue-green migration with minimal downtime 18.05.2025 by Adrien Obernesser As PostgreSQL 18 Beta 1 has been released (link) and is packed with lots of cool features like improved IO on reads for example, I wanted to test out the new pg_createsubscriber and pg_upgrade options and how they are(…)
PostgreSQL Technological debt with AI workflows: When data hits the fan? 28.04.2025 by Adrien Obernesser 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(…)