November 2, 2025
Queues, clicks, and comment wars
"You Don't Need Kafka, Just Use Postgres" Considered Harmful
Dev world splits: Postgres people vs Kafka diehards
TLDR: The article says stop telling people to swap Kafka, a stream-processing system, with Postgres, a database, because they solve different problems. Commenters clap back with bias jokes, small‑startup pragmatism, and “Kafka is old news,” turning a tech explainer into a full-blown flame war.
Another day, another Hacker News food fight: a new post argues the viral mantra “You don’t need Kafka, just use Postgres” is harmful, because these are different tools for different jobs. The author says Postgres is a traditional database, while Kafka is a system for moving streams of events in real time—so trying to replace one with the other can lead to messy, fragile setups. They even warn that turning Postgres into a job queue can cause performance headaches over time.
Cue the comment section chaos. One user rolled their eyes at the headline trope with “‘Considered harmful’ considered harmful”, while another side-eyed the author’s credentials, quoting the conference bio and quipping that this sounds like Kafka insiders defending Kafka. Pragmatists chimed in: if you actually need Kafka, you’ll know—otherwise for a small startup, Postgres is fine. Then came the spice: a commenter declared Kafka “old news” and name-dropped LinkedIn’s newer system, turning the thread into a generational tech squabble.
The vibe? Half gatekeeping, half common sense, all drama. Some want “use the right tool,” others want “keep it simple.” Between the bias accusations, meta-jokes, and “front page bait” energy, this thread proves one thing: the quickest way to go viral is to poke the Postgres-vs-Kafka bear.
Key Points
- •The article argues that “use Postgres instead of Kafka” advice is misleading because the tools serve different purposes.
- •Queuing is not a typical Kafka use case due to historical lack of per-message acks and message-level consumer parallelism; queue support (KIP-932) is in progress but not production-ready.
- •Building a durable job queue on Postgres can trigger MVCC bloat, WAL accumulation, and vacuum issues, especially with long-running transactions.
- •Short benchmarks are insufficient; representative, long-duration performance tests are recommended when considering Postgres for queuing.
- •Kafka is suited to use cases like microservices communication, IoT ingestion, clickstreams, metrics/log aggregation, low-latency data pipelines, and realtime stream processing.