Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Laya the open source version of Jev(convaiinnovations.com ↗)
    142comments
  2. A graphical desktop for the ZX Spectrum(github.com/mindbox77 ↗)
    50comments
  3. AI-generated posters don’t have to be horrible(john.hartnup.uk ↗)
    459comments
  4. Human brain is two separate organs, Stanford Medicine-led research finds(stanford.edu ↗)
    181comments
  5. Tin: full-text search for Postgres(planetscale.com ↗)
    43comments
  6. Supabase (YC S20) Is Hiring for OrioleDB(supabase.link ↗)
    discuss
  7. Asking Authors About Their Own Papers(medium.com/tmlrorg ↗)
    37comments
  8. “The Secret Life of Circuits” is here(coredump.cx ↗)
    51comments
  9. Black Holes or Black Hole Stars? Astronomers Spar over 'Little Red Dots'(quantamagazine.org ↗)
    14comments
  10. Android 17 is the first since 3.x to add new APIs without releasing to the AOSP(grapheneos.social ↗)
    552comments
  11. I built the fastest PHP webserver in the world(qbixserver.com ↗)
    30comments
  12. San Francisco Onion Futures Company(onionfutures.com ↗)
    117comments
  13. New evidence for hidden chambers beyond Tutankhamun's tomb(nature.com ↗)
    5comments
  14. GPT-6 Astra Solves a WWI German Radio Cipher(prinzai.com ↗)
    132comments
  15. If math is more than proof, we need to better celebrate the rest of it(terrytao.wordpress.com ↗)
    193comments
  16. Agreement between the USA and Denmark (1951,2004) [pdf](state.gov ↗)
    17comments
  17. What Zig felt like, coming from Rust(besok.github.io ↗)
    108comments
  18. Cloudflare Quick Tunnels(cloudflare.com ↗)
    301comments
  19. How to Write with an LLM(sockpuppet.org ↗)
    360comments
  20. You can run Git on object storage if you re-make packfiles(tigrisdata.com ↗)
    24comments
  21. Communication by means of modulated Johnson noise(pnas.org ↗)
    18comments
  22. Saving another 100TB of RAM(cloudflare.com ↗)
    89comments
  23. SDCC – Small Device C Compiler(sourceforge.net ↗)
    23comments
  24. Ray Ozzie and the Optimism of Being Early(reproof.app ↗)
    11comments
  25. Science Is Open Software(jepedersen.dk ↗)
    51comments
  26. Why building a Rust LSP is hard(rust-glancer.github.io ↗)
    44comments
  27. The first new cat species discovered in 100 years(nationalgeographic.com ↗)
    122comments
  28. Ctenophores: Wonders of Biology(quantamagazine.org ↗)
    7comments
  29. OpenJev(openjev.com ↗)
    280comments
  30. From Stonemasons to Carpenters(thelastsoftwareengineer.substack.com ↗)
    4comments

Tin: full-text search for Postgres

89 pointsby 3h agoplanetscale.com
41 comments
2h agoHN ↗

Becoming more the norm for them, Neki is the same.

Immediately rules out ever using them (though I don't currently have any problems that would benefit from that level of scale currently, have in the past though).

Postgres's license allows this but for me (personally) it leaves a bad taste.

Also it's not really "full-text search for Postgres" it's "full-text search for our hosted version of Postgres" so the title is a little misleading.

1h agoHN ↗

Why would you need super fast search for local testing?

1h agoHN ↗

It's Postgres search any coding agent can switch you to something else in 5 minutes

1h agoHN ↗

Why don’t you like Postgres’ license? It’s as permissive as a license gets.

54m agoHN ↗

Building non-open extensions on top of it, it's not the license I don't like, the bad taste is that they use something open extend it and keep part of it closed.

The license allows it but on the flip side it's vendor lock-in predicated on using something open as the base.

Fully proprietary no issue with that, full open, no issue with that, building proprietary on top of open is where the bad taste comes in.

For completeness, it's not them specifically either, the other cloud companies do similar things and I suspect in part the reason they don't open these extensions up is because the others will but then they are doing the same thing themselves.

39m agoHN ↗

When one develops using open-source software they have an obligation to follow the licenses. They also have a moral obligation to be respectful of the work upon which they’re building. And they have a social obligation to help improve that software where they can.

Those that develop on top of open-source have no obligation to give you their work for free.

You’d be surprised as to the amount of open-source contributions TIN drove towards Postgres, LLVM, and pgrx. And you’d be speechless at the amount of upstream work across all sorts of open-source PlanetScale does. Postgres 18.6, for example, is better for you today, in part, because of TIN. You’re welcome.

32m agoHN ↗

You’re welcome.

I didn't say thank you and don't presume I would, Planetscale acting in their own self interest by improving postgres upstream isn't deserving of thanks, any more than Intel upstreaming a bunch of Linux kernel work is or myriad other examples.

Corporations acting in their self interest isn't worth giving thanks for, neither is the work of the people paid to do work on their behalf.

I don't expect my employer to thank me, I expect them to pay me, I don't expect users of software I was paid to write to thank me because I did it for the money not out of altruism towards those users.

22m agoHN ↗

It’s clear that we’re on opposite ends of open-source ideology.

Good luck out there! 2026 is wild times!!

17m agoHN ↗

You as well, and yes it's very "may you live in interesting times" at the moment everywhere.

22m agoHN ↗

Everything else aside

Those that develop on top of open-source have no obligation to give you their work for free.

This is a pretty narrow view of open source.

Just as a simple example, GPLv3 and AGPLv3 are both considered Open Source and, depending on how you hold them, may obligate releasing work to customers essentially for free.

10m agoHN ↗

I thought I was clear:

When one develops using open-source software they have an obligation to follow the licenses.

Obviously what follows from one of those licenses is what you say.

I’m glad we agree!

1h agoHN ↗

The problem is that they don’t support bare metal. I’d love to use PlanetScale in our bare metal servers.

47m agoHN ↗

we support bare metal inside AWS, GCP, and very soon Azure

2h agoHN ↗

I struggle with FTS inside SQL (SQLite and MSSQL). There is often a fairly significant impedance mismatch between the relational concerns and how the documents need to be stored.

I've always preferred to use SQL as the system of record and then build/maintain an external Lucene index. Do we think these integral FTS capabilities are at the point where a hybrid architecture doesn't make sense anymore? How much customization exists in this provider?

1h agoHN ↗

I’m one of TIN’s developers and if you google my username you’ll see I’ve been in this space for a long time.

The answer to your first question is simply: yes

As far as your second question, what customization do you need that you believe TIN or PlanetScale doesn’t provide? These are things we can do, with alacrity.

1h agoHN ↗

in my experience it’s pretty common to find big inverted indexes for text directly in the database - not necessarily large docs but certainly free text records in volume. using bm25 and unicode’s breakiterator is a very good way to build it. like putting lucene in the database basically - makes a lot of sense when the database is already large. places that bend over backwards to move search out of the db are usually trying to avoid having a very large db (and often end up with one anyway, getting the worst of both worlds)

1h agoHN ↗

They also end up with all the infrastructure and processes necessary to keep the external search system in sync, resync/reindex, pkey shipping back to their source of truth in queries, application-side joins and enrichment between both sources. It’s brutal.

Having everything in one place eliminates entire classes of development and especially operational problems.

1h agoHN ↗

I think what we're seeing with every database company providing new full-text search capabilities is an example of AI coding productivity showing up in the real world.

It started with paradeDB and pg_search https://www.paradedb.com/blog/introducing-search

Timescale has pg_textsearch https://github.com/timescale/pg_textsearch

Neon and Databricks have Lakebase Search https://docs.databricks.com/aws/en/oltp/projects/lakebase-se...

Now PlanetScale.

AFAIK all of these are implementations of the BM25 algorithm. You can just tell an agent to read about BM25 and implement it in your system of choice. Cool to see. Seems like there's still a lot of juice to be squeezed out of how it's architected and integrated into each system, but you can't help but wonder if this will lead to aggressive commodification

1h agoHN ↗

ParadeDB's implementation builds on the Tantivy crate, which predates AI coding.

1h agoHN ↗

There is a lot of truth to this, but it's also very much down to domain experts being able to do this to move faster.

Planetscale (assuming they used a agentic development practice) will have pulled this off, to the level of performance that they have, because they have a team of very highly experienced Postgres developers. Their knowlage of Postgres internals will have given them the insights needed to steer the models to a plan that used the architecture as described in the post. That's not something a model can do on its own*

World experts + LLMs = moving mountains.

(* we're obviously seeing something a little different from inside the research teams in the labs. They are showing that the models, when you burn the level of tokens only they can, are able to do novel things from the models own insights.)

29m agoHN ↗

Seems like a lot of this knowledge was encoded into the blog post. I wonder if given this post and access to a planet scale instance to compare with, how close an agentic agent could get.

22m agoHN ↗

I think we can frame it as LLMs materializing existing potential. It seems like there needs to be an underlying potential to tap into, without which, the results could be slop.

1h agoHN ↗

What’s funny is I worked with a company with planet in the name Who could really use a full text search that was great in the Postgres

59m agoHN ↗

Interestingly enough SQLites FTS supports Lucene queries out of the box with great performance characteristics. IIRC only writes become pretty slow after a while. I’ve always wondered what exactly would prevent PostgreSQL from strapping that implementation into its own database. My experience with ts_query hasn’t been particularly rosy. It can be better than LIKE but only marginally so and at the cost of insane index sizes… If this extension becomes open source and we can test it out in the real world I’m sure there’s a sweet spot

41m agoHN ↗

SQLite FTS relies on shadow B-trees under single-writer locks. Postgres index access methods must map postings directly to physical ctid tuples, surviving MVCC visibility checks and heap tuple churn.

44m agoHN ↗

What are the advantages of Tin over using ts_vector with gin and gist indexes?

34m agoHN ↗

It’s just me or there are others who keep seeing these updates and think mongodb had all of this years ago?

Seriously so happy to be running our production stack on mongo.

28m agoHN ↗

Is this an ad? Postgres has had search for more than a decade.

29m agoHN ↗

I want to try Planetscale... but we're addicted to (and totally dependent on) Neon's branching model. They really got us hooked on that!

29m agoHN ↗

I suppose it all depends on the scale of your project, but I've had pretty good luck using both MySQL's and SQLite's FTS capabilities. Surprised to hear that Open Source champion Postgres didn't have up-to-snuff FTS up to now...?

6m agoHN ↗

It has FTS built in and has had it for a VERY long time.

27m agoHN ↗

Please read the Postgres manual. It has incredible built-in search capability.

9m agoHN ↗

I think it’s fantastic.

You want to use this thing instead?

7m agoHN ↗

If you read deep into this, they claim much better performance than the built in search; they also imply that the built-in search is missing features they provide but don’t make clear which ones (I think it is just support in the same index for queries covering other conditions on other columns, because every other feature they claim seems to line up with the built in search features, which have been around for about 20 years.)

5m agoHN ↗

Postgres does have pg_fts (tsvector/tsquery/tsrank) which is a quite sophisticated full text search package integrated with functional indexing and query optimization. Why would I use something vibecoded that isn't part of core Postgres instead?