By Ming Ying on October 1, 2026 Two weeks ago, Planet Scale unveiled TIN, a full-text search extension for Postgres. Their launch post reported impressive performance wins over a subset of Parade DB’s text search functionality, specifically BM25-ranked text search and document counts. We’d like to extend kudos to the Planet Scale team. It’s great to see another Postgres platform investing in search, and it’s clear that a lot of thoughtful engineering went into TIN.
Let’s be very clear about one thing: TIN is fast (at least 8x faster than Parade DB 0.25 in every Planet Scale benchmark). So fast that the only response which made sense was to shut up and put on our performance optimization hats. Two weeks later, here’s the BM25-ranked before and after, using the same Stack Exchange benchmark dataset, harness, and machine types.
What’s interesting is not that we quickly closed the gap, but how we closed it. TIN’s post claims that their performance is due to a fundamental architectural difference that uses Postgres’ internal ctid fields as document identifiers. However, we closed this gap through a few optimization passes that had little to do with how documents are identified.
The heart of any text search index is a postings list. Tantivy, the search library behind Parade DB, uses sequential u32 document IDs for its postings. Postgres identifies its rows by ctid values. The crux of TIN’s post is that using ctid values directly as document identifiers eliminates this map and enables efficient bitmap operations and visibility checks. For BM25 Top K queries, we were skeptical.
Source: Hacker News · Summarized by HeadlinesBriefing