<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Vectors on PG Blog</title><link>https://pg-blogs.netlify.app/tags/vectors/</link><description>Recent content in Vectors on PG Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 04 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://pg-blogs.netlify.app/tags/vectors/index.xml" rel="self" type="application/rss+xml"/><item><title>Vector Databases in Practice for Java</title><link>https://pg-blogs.netlify.app/posts/22-vector-databases-in-practice-for-java/</link><pubDate>Sat, 04 Jul 2026 00:00:00 +0000</pubDate><guid>https://pg-blogs.netlify.app/posts/22-vector-databases-in-practice-for-java/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://pg-blogs.netlify.app/posts/20-rag-from-scratch-in-java/"&gt;RAG From Scratch in Java&lt;/a&gt; built retrieval with nothing but an array of doubles and a &lt;code&gt;Comparator&lt;/code&gt;: cosine similarity computed in a loop, top-k picked with a stream sort. That post said outright that this is a brute-force &lt;code&gt;O(n)&lt;/code&gt; scan — fine for a few thousand chunks, the wrong tool once a corpus reaches millions. This post picks up exactly there: how do you store and search vectors at that scale, using Postgres, and when do you need something else entirely?&lt;/p&gt;</description></item><item><title>Vector Databases in Practice for Python</title><link>https://pg-blogs.netlify.app/posts/23-vector-databases-in-practice-for-python/</link><pubDate>Sat, 04 Jul 2026 00:00:00 +0000</pubDate><guid>https://pg-blogs.netlify.app/posts/23-vector-databases-in-practice-for-python/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://pg-blogs.netlify.app/posts/21-rag-from-scratch-in-python/"&gt;RAG From Scratch in Python&lt;/a&gt; built retrieval with nothing but a list of floats and &lt;code&gt;sorted()&lt;/code&gt;: cosine similarity computed in a loop, top-k picked with a slice. That post said outright that this is a brute-force &lt;code&gt;O(n)&lt;/code&gt; scan — fine for a few thousand chunks, the wrong tool once a corpus reaches millions. This post picks up exactly there: how do you store and search vectors at that scale, using Postgres, and when do you need something else entirely?&lt;/p&gt;</description></item></channel></rss>