Skip to content

Developer tools · database

PostgreSQL

Hacker Approved

A free, open-source relational database people trust for nearly everything (queues, JSON, search, vectors) and run for years; critics cite query planner limits and horizontal scaling difficulty.

Summarized from 1406 comments.

A free, open-source relational database people trust for nearly everything (queues, JSON, search, vectors) and run for years; critics cite query planner limits and horizontal scaling difficulty.

recommend
816
criticize
233
months recommended
13 of 13
median owned, 42 owners said
10 years

Why people love it

  • Handles queues, JSON, search, vectors · 6

    Relational databases are incredibly flexible even if you have a NoSQL mindset, you can do data modelling like that in Postgres too with jsonb data types.

    Jul 2026 · comment

    We are using Postgres as a worker queue in production for many years, with millions of items being processed at any time and it's been perfectly fine.

    Jun 2026 · comment

    currently using psql (in a single monolithic codebase) as: sql db, json db, vector store, logs store, full-text search, queue, message bus.

    Aug 2026 · comment
  • Stable, open source, long-lived · 3

    Postgres is in another league from SQL Server. Because Postgres is linux native and open source, its flexibility, introspection and operability, just doesnt have a comparison in SQL Server.

    Jun 2026 · comment

    The Postgres ecosystem is pretty unique in its ability to produce a “boring” stable product, innovate, stay F/OSS, and create financial outcomes for participants.

    May 2026 · comment

    I can rely on gifts to the world like Linux, Debian, PostgreSQL, Apache, Nginx, Caddy, and Yggdrasil without any problems for decades.

    Oct 2026 · comment
  • Scales enough for most organizations · 4

    everything I've read about people using it in prod tells me that most organizations never really grow beyond requiring anything more than what it offers

    Mar 2026 · comment

    We are using Postgres as a worker queue in production for many years, with millions of items being processed at any time and it's been perfectly fine.

    Jun 2026 · comment

    I've dealt with postgres DBs larger than that in size though with no stored procedures and have never run into such problems.

    Feb 2026 · comment
  • Easy setup, widely supported everywhere · 5

    The setup cost is basically zero anyway. Add apt repo, apt-get install the correct version. Easy to run different versions at the same time too. Upgrading is annoying.

    Aug 2026 · comment

    I've tended to favor PostgreSQL for container dev simply because it is well supported in pretty much every first and second tier cloud provider out there.

    May 2026 · comment

    You can also absolutely run Postgres on your vps, the setup is slightly more complicated than sqlite, but it's a matter of 15 minutes vs 5 minutes.

    Apr 2026 · comment

What people warn about

  • Query planner lacks hints, adaptivity · 4

    The SQL Server query planner is head and shoulders above what Postgres offers in the types of optimizations it will apply to your queries.

    Jan 2026 · comment

    PG being process based per connection instead of thread based makes it much more difficult to share plans between connections

    Jan 2026 · comment

    One of my biggest annoyances with the Postgres core team has been their reluctance to implement any sort of adaptive planning

    Aug 2026 · comment
  • Hard to scale horizontally · 2

    Funneling all of your scaling issues into Postgres, which isn't always the easiest to scale horizontally, can start to be a problem.

    Feb 2026 · comment

    Right now, these retries trigger multiple round trips for Postgres, making it a performance bottleneck for high-contention workloads.

    May 2026 · comment
  • Vacuum, wraparound and storage overhead · 4

    Postgres uses something like 24B overhead per row. That is not a issue with small Tables, but when your having a few billion around, each byte starts to add up fast.

    Feb 2026 · comment

    The result is that the presence of an operation wanting an exclusive lock blocked the data path for the duration of the autovacuum. Major outage.

    Dec 2025 · comment

    In practice, with an OLTP workload, substantial InnoDB purge lag problems are much rarer than Postgres XID wraparound problems.

    Jul 2026 · comment
  • Complex to run and upgrade · 3

    The setup cost is basically zero anyway. Add apt repo, apt-get install the correct version. Easy to run different versions at the same time too. Upgrading is annoying.

    Aug 2026 · comment

    Sure Linux, Docker, Kubernetes, Postgres, and all the other standard tools in the box are open source and free, but they're also arcane and complex to run

    Jul 2026 · comment

    Having to look up and spend time fixing permissions every time itself makes using Postgres for simple uses difficult for me

    Feb 2026 · comment

What hackers pick instead

Every quote

The 40 most detailed of 1406 comments. Each links to the original.

  1. Postgres is in another league from SQL Server. Because Postgres is linux native and open source, its flexibility, introspection and operability, just doesnt have a comparison in SQL Server.

    Recommends · Jun 2026 · in “Looking Ahead to Postgres 19”

  2. The setup cost is basically zero anyway. Add apt repo, apt-get install the correct version. Easy to run different versions at the same time too. Upgrading is annoying.

    Mixed · Aug 2026 · in “Does anyone run Postgres without PgBouncer?”

  3. The Postgres ecosystem is pretty unique in its ability to produce a “boring” stable product, innovate, stay F/OSS, and create financial outcomes for participants.

    Recommends · May 2026 · in “5x perf increase on writes with FPW disabled in Postgres”

  4. Sure Linux, Docker, Kubernetes, Postgres, and all the other standard tools in the box are open source and free, but they're also arcane and complex to run

    Mixed · Jul 2026 · in “American AI is locked down and proprietary. It's losing”

  5. I've tended to favor PostgreSQL for container dev simply because it is well supported in pretty much every first and second tier cloud provider out there.

    Recommends · May 2026 · in “Should I Run Plain Docker Compose in Production in 2026?”

  6. Relational databases are incredibly flexible even if you have a NoSQL mindset, you can do data modelling like that in Postgres too with jsonb data types.

    Recommends · Jul 2026 · in “What ORMs have taught me: just learn SQL (2014)”

  7. everything I've read about people using it in prod tells me that most organizations never really grow beyond requiring anything more than what it offers

    Recommends · Mar 2026 · in “Show HN: Omni – Open-source workplace search and chat, built on Postgres”

  8. We are using Postgres as a worker queue in production for many years, with millions of items being processed at any time and it's been perfectly fine.

    Recommends · Jun 2026 · in “PostgreSQL Is Enough”

  9. You can also absolutely run Postgres on your vps, the setup is slightly more complicated than sqlite, but it's a matter of 15 minutes vs 5 minutes.

    Recommends · Apr 2026 · in “I run multiple $10K MRR companies on a $20/month tech stack”

  10. Postgres is widely used enough with enough engineering company blog posts that the vast majority of NotPostgres requests already have a blog post

    Recommends · Feb 2026 · in “It's 2026, Just Use Postgres”

  11. currently using psql (in a single monolithic codebase) as: sql db, json db, vector store, logs store, full-text search, queue, message bus.

    Recommends · Aug 2026 · in “PostgreSQL for Everything”

  12. Postgres has a lot of features such as trigram-based search which is pretty essential if I don't want to use a dedicated search indexer

    Recommends · Dec 2025 · in “Show HN: Marmot – Single-binary data catalog (no Kafka, no Elasticsearch)”

  13. A standard DB ala Postgres will be a perfectly functional graph database unless you're doing very specialized network analysis queries

    Recommends · Mar 2026 · in “Grafeo – A fast, lean, embeddable graph database built in Rust”

  14. I can rely on gifts to the world like Linux, Debian, PostgreSQL, Apache, Nginx, Caddy, and Yggdrasil without any problems for decades.

    Recommends · Oct 2026 · in “Ask HN: What do you run on a $5 VPS that's worth keeping online 24/7?”

  15. we rewrote the OSS backend to Postgres so that everything can be deployed in one go with the infra that people are most familiar with

    Mixed · Apr 2026 · in “Show HN: Broccoli, one shot coding agent on the cloud”

  16. Funneling all of your scaling issues into Postgres, which isn't always the easiest to scale horizontally, can start to be a problem.

    Mixed · Feb 2026 · in “You Just Need Postgres”

  17. Columnar and all the other fun stuff (JSON, GIS, inverted indexes, embedding vectors) is a natural progression of that thinking.

    Recommends · Jun 2026 · in “Looking Ahead to Postgres 19”

  18. I've dealt with postgres DBs larger than that in size though with no stored procedures and have never run into such problems.

    Recommends · Feb 2026 · in “Almost Every infrastructure decision I endorse or regret after 4 years”

  19. I like to consider Postgres the starting point for all of these things, that can be outgrown and replaced when appropriate.

    Recommends · Aug 2026 · in “PostgreSQL for Everything”

  20. Postgres is great but the authors refusal to add plan hints is a decision that comes to bite me at least a few times a year

    Mixed · Oct 2026 · in “Postgres isn't slow, your storage is”

  21. Postgres uses something like 24B overhead per row. That is not a issue with small Tables, but when your having a few billion around, each byte starts to add up fast.

    Criticizes · Feb 2026 · in “It's 2026, Just Use Postgres”

  22. The result is that the presence of an operation wanting an exclusive lock blocked the data path for the duration of the autovacuum. Major outage.

    Criticizes · Dec 2025 · in “Vacuum Is a Lie: About Your Indexes”

  23. The SQL Server query planner is head and shoulders above what Postgres offers in the types of optimizations it will apply to your queries.

    Criticizes · Jan 2026 · in “Scaling PostgreSQL to power 800M ChatGPT users”

  24. Right now, these retries trigger multiple round trips for Postgres, making it a performance bottleneck for high-contention workloads.

    Criticizes · May 2026 · in “Quack: The DuckDB Client-Server Protocol”

  25. In practice, with an OLTP workload, substantial InnoDB purge lag problems are much rarer than Postgres XID wraparound problems.

    Criticizes · Jul 2026 · in “PostgreSQL's MVCC is bad. So is everyone else's”

  26. The primary reason to avoid doing so is avoiding thrashing your buffers, along with increased size of backups, WAL bloat, etc.

    Criticizes · Aug 2026 · in “PostgreSQL for Everything”

  27. PG being process based per connection instead of thread based makes it much more difficult to share plans between connections

    Criticizes · Jan 2026 · in “Unconventional PostgreSQL Optimizations”

  28. One of my biggest annoyances with the Postgres core team has been their reluctance to implement any sort of adaptive planning

    Criticizes · Aug 2026 · in “Making Postgres 300x faster for analytics: batching, operator fusion, and SIMD”

  29. Having to look up and spend time fixing permissions every time itself makes using Postgres for simple uses difficult for me

    Criticizes · Feb 2026 · in “It's 2026, Just Use Postgres”

  30. Typically I have a small pg server for these things. It'll work out slightly more expensive than this setup for one action, yet it will cope with so much more

    Recommends · Feb 2026 · in “A distributed queue in a single JSON file on object storage”

  31. PostgreSQL actually supports sharding out of the box, it's just a matter of setting up the right table partitioning and Foreign Data Wrapper (FDW)

    Recommends · Jan 2026 · in “Scaling PostgreSQL to power 800M ChatGPT users”

  32. Very useful feature for trading systems where the exchange might tell you your order got filled but then send a trade correction or bust message

    Recommends · Jun 2026 · in “Looking Forward to Postgres 19: It's About Time”

  33. As soon as a project leaves localhost and enters cloud development you need talk to a database over network, which warrants MySQL or Postgres.

    Recommends · Apr 2026 · in “Do You Even Need a Database?”

  34. the Postgres query planner often has an actual reason for why it does what it does and overall I've found the decisions to be very consistent

    Recommends · Feb 2026 · in “Waiting for Postgres 19: Better Planner Hints with Path Generation Strategies [video]”

  35. many developers don't mind using Docker to run Redis / Postgresql and other services on Mac that are very simple to install and run directly

    Mixed · Feb 2026 · in “The Codex App”

  36. you can just put an in-memory SQLite or Postgres in place for your testing and get all the performance advantages with none of the downside

    Recommends · Aug 2026 · in “Pgtestdb's template cloning approach to testing is fast”

  37. It's worked excellently and while there are services various cloud providers would love to sell us to do that it's extremely cheap to run.

    Recommends · May 2026 · in “Just Use Postgres for Durable Workflows”

  38. Since our payroll is done inside of PostgreSQL, we can do some crazy access control stuff that most systems would never even dream about.

    Recommends · Mar 2026 · in “We give every user SQL access to a shared ClickHouse cluster”

  39. the postgress disk structure is intentionally designed to not be a interchange format(they reserve the right to change it at any time)

    Mixed · May 2026 · in “Show HN: My Private GitHub on Postgres”

  40. The main benefit is centralizing all the data in one place so we don't need to worry about copying data in between multiple systems.

    Recommends · May 2026 · in “Just Use Postgres for Durable Workflows”

Counts from 1,795,640 Hacker News comments, Nov 2025 to Nov 2026. How we count · Report a mistake