Why Tin Might Finally Fix Full-Text Search in Postgres

Postgres full-text search has always felt like a compromise. A new extension called Tin claims to change that completely....

Feed
September 19, 2026
Why Tin Might Finally Fix Full-Text Search in Postgres


Postgres has spent years trying to figure out how to do proper search. Sure, the built-in primitives get the job done for basic side projects, but once you start dealing with real-world data, everything falls apart. Thing is, you usually end up bolting on Elasticsearch or spinning up a dedicated Lucene cluster just to handle fuzzy matching, phrase queries, and decent ranking. That architectural overhead hurts. It introduces sync lag, doubles your infrastructure footprint, and adds operational pain that small teams simply shouldn't have to deal with.

That is precisely why Tin caught my attention. It is a new Postgres extension designed to provide a fast, full-featured text index right where your data already lives, keeping transactions consistent and replication intact without forcing you to sync out to a separate search engine. When you can execute a BM25-scored query or handle complex boolean logic natively inside a standard SQL statement, your entire application stack gets lighter.

Why Tin Might Finally Fix Full-Text Search in Postgres

What makes this release genuinely interesting isn't just the feature list – which checks all the boxes from accent folding to regex matching – but the insistence on transactional correctness. Most external search engines eventually become inconsistent with your primary database. Tin lives inside Postgres. It respects your commits, handles continuous mutations cleanly, and actually plays nice with standard concurrency.

If the benchmarks hold up under heavy production loads, this could kill the knee-jerk reflex to add a third-party search cluster to every new web app. We need fewer moving parts in our architectures, not more. Sometimes, doing it right means keeping it in the database.