Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    R

    Rach Belaid

    rachbelaid.com · Personal blog · on HN since 2016

    Rach Belaid, a software engineer, writes about PostgreSQL, including full-text search, storage internals, and monitoring, plus SQLAlchemy.

    Visit blogHN submissions
    DatabasesProgramming
    What HN says

    HN repeatedly cites her post saying Postgres full-text search is good enough, recommending it when you want modest search without another service.

    Stats for nerds
    19HN people shared it
    6linked in comments
    456story points
    Nov 2022last shared
    2016people per year2022

    Top posts on HN

    1. 1
      Introduction to PostgreSQL physical storage
      1 person · 256 points · first shared 2016 · 10 comments on HN
    2. 2
      Postgres full-text search is Good Enough (2015)
      14 people · 171 points · first shared 2016 · 84 comments on HN
    3. 3
      Pome: Postgres monitoring dashboard
      2 people · 27 points · first shared 2016 · 4 comments on HN
    4. 4
      Handling concurrent INSERT with SQLAlchemy (2015)
      1 person · 2 points · first shared 2017 · Discussion on HN
    5. 5
      About
      1 person · first shared 2016
    6. 6
      Postgres full text search is good enou..
      1 person · first shared 2016
    7. 7
      Homepage
      1 person · first shared 2016

    What HN people wrote when they linked it

    • some_developerJul 2021

      Anectodal note:

      A few years ago we added yet-another part to our product and, whilst ES worked "okay", we got a bit weary of ES due to "some issues" (some bug in the architecture keeping things not perfect in sync, certain queries with "joins" of types taking long, demand on HW due to the size of database, no proper multi-node setup due to $$$ and time constraint, etc.; small things piling up over time).

      Bright idea: let's see how far Postgres, which is our primary datastore, can take us!

      Unfortunately, the feature never made it fully into production.

      We thought that on paper, the basic requirements were ideal:

      - although the table has multiple hundreds of millions of entries, natural segmentation by customer IDs made possible individual results much smaller

      - no weighted search result needed: datetime based is perfect enough for this use-case, we thought it would be easy to come up with the "perfect index [tm]"

      Alas, we didn't even get that far:

      - we identified ("only") 2 columns necessary for the search => "yay, easy"

      - one of those columns was multi-language; though we didn't have specific requirements and did not have to deal with language specific behaviour in ES, we had to decide on one for the TS vectorization (details elude me why "simple" wasn't appropriate for this one column; it was certainly for the other one)

      - unsure which one, or both, we would need, for one of the columns we created both indices (difference being the "language")

      - we started out…

    • nathan_longJul 2019

      I probably wouldn't migrate a project, but I switched my default db to PostgreSQL after seeing the many ways MySQL can silently screw up data. Truncating strings, truncating numbers, allowing NULLs in a NOT NULL, etc. Much (all?) of this can be fixed with settings these days: https://dev.mysql.com/doc/refman/5.7/en/constraint-invalid-data.html

      PostgreSQL has a hard bias toward correctness. If you give it invalid data, it will blow up loudly every time.

      PostgreSQL also has a boatload of useful features. Need full-text search? It has it, and it's good enough for lots of stuff: http://rachbelaid.com/postgres-full-text-search-is-good-enough/

      Need to search for locations with coordinates < N kilometers from a coastline? PostGIS does it.

      Need to store and query JSON? Partition tables by a date range? Index only the rows matching a WHERE condition? Use a CHECK constraint? Prevent race conditions from creating reservation rows with overlapping datetime ranges (exclusion constraints)? Run a query periodically and cache the results as a queryable table (materialized views)? The list goes on and on.

      More correct data + fewer reasons to add another tool to the stack - especially when that would mean having to keep data in sync - is pretty compelling to me.

    • forgotpwtomainJun 2016

      > Why would one use Algolia over Postgres's built in text search features? Ex: http://rachbelaid.com/postgres-full-text-search-is-good-enou...

      Postgres built-in search features are really for large document searching -- we've tried using it for indexing e.g. an array of tags for auto-complete and the search times were in the ~500ms+ range, as a matter of fact the non-indexed regex search was only slightly slower. I thought the later was rather surprising - but asking on the mailing-lists, I was told that this was basically working as intended.

      edit: I don't fully understand the value-proposition of Algolia either, most of the trouble with going outside of your production database for search - is the problem of keeping your data in sync and current with the production database; compared to that setting up an Elasticsearch cluster really isn't such a big deal, there are also half-way solutions, for example Amazon has an Elasticsearch-service.

    • chishakuFeb 2022

      What other examples are there of "single dependency stacks"?

      This article is really about the versatility and reliability of postgres.

      And I'm all in agreement.

      Reminiscent of:

      https://www.craigkerstiens.com/2017/04/30/why-postgres-five-years-later/

      https://webapp.io/blog/postgres-is-the-answer/

      http://rachbelaid.com/postgres-full-text-search-is-good-enough/

      http://boringtechnology.club/

      As much as HN could lead you astray with the hype of this and that tech, articles like the above are some of the most consistently upvoted on this website.

    • mozumderJun 2016

      Why would one use Algolia over Postgres's built in text search features? Ex: http://rachbelaid.com/postgres-full-text-search-is-good-enough/

      I already have Postgres search queries running on the order of 1-3ms for large queries, basically faster than Algolia, with seemingly the same feature sets.

      I don't understand the value proposition over something like Postgres, for sites that already have Postgres databases. (And I'm sure other databases might offer similar built-in search capabilities, I just don't know those other RDBMSs)

    • rachbelaidJan 2016

      SEEKING WORK - San Francisco - Senior Software Engineer

      Experienced Python developer with a good database knowledge, with experience in Ops and Javascript.

      - Programming: Python, Javascript, Go

      - Frameworks: Pyramid, SQLAlchemy, Django, React

      - Software: Nginx, Postgres, Redis

      - Experience: 10y

      - Experimenting with: Swift, Haskell, Elixir, Phoenix

      Download my resume and read more about me here: http://rachbelaid.com/about/

      Blog : http://rachbelaid.com/

      Github: https://github.com/rach

    Related

    Craig Kerstienscraigkerstiens.com101 people

    Give Me Back My Monolith

    Craig Kerstiens
    Personal · last shared 2025
    Supabase Blogsupabase.com286 people

    Postgres WASM

    Supabase Blog
    Company · last shared 2026
    Robert Haasrhaas.blogspot.com96 people

    New Features Coming in PostgreSQL 10

    Robert Haas
    Personal · last shared 2026
    Rob Coneryrob.conery.io50 people

    RethinkDB 2.0 is amazing

    Rob Conery
    Personal · last shared 2021
    Small Datumsmalldatum.blogspot.com63 people

    The original LSM paper

    Small Datum
    Personal · last shared 2026
    Turso Blogturso.tech102 people

    Working on databases from prison

    Turso Blog
    Company · last shared 2026
    Peter Geogheganpgeoghegan.blogspot.com17 people

    Clang now builds Postgres without additional warnings

    Peter Geoghegan
    Personal · last shared 2018
    Crunchy Data Blogcrunchydata.com187 people

    Learn Postgres at the Playground – Postgres compiled to WASM running in browser

    Crunchy Data Blog
    Company · last shared 2026