PlanetScale launches Tin for fast Postgres full-text search

PlanetScale built a search extension for Postgres that beats existing options on speed while using far less memory.
PlanetScale announced Tin ("Text INdex"), a native search extension available immediately for Postgres and Neki databases. It adds full-text search features—including BM25 ranking, phrase matching, and wildcard queries—directly inside Postgres. PlanetScale built it because existing tools like builtin GIN, ParadeDB, and pg_textsearch couldn't meet all their requirements for query types, continuous updates, and reliability.
Why it matters: It makes external search clusters unnecessary for many Postgres apps. In benchmarks on an 85 GB Stack Exchange dataset, Tin built its index in 8 minutes on 32 GB of RAM, while Postgres GIN took over 2 hours and required 64 GB of RAM to complete the build. On mixed top-10 ranked queries, Tin ran 25× as many queries per second as ParadeDB with 26× lower p99 latency.
Try it / know this: You create an index with USING tin and query it with the ==> operator:
CREATE INDEX prod_idx ON products USING tin(description);
SELECT * FROM products WHERE description ==> 'stretch denim jeans'
ORDER BY tin.score(ctid) DESC LIMIT 10;
Your database stack might be about to get a whole lot simpler.
Sources
- PlanetScale Blog — https://planetscale.com/blog/introducing-tin
- Hacker News — https://news.ycombinator.com/item?id=49766611

