Top all-time · #595
select * from depesz;
Personal blog · depesz.comdataprogramming
select * from depesz; is a personal blog at depesz.com about data and programming. Since 2009, 102 different Hacker News readers have linked it 161 times, most often “Postgres 12 Faster CTEs Optional Materialization”. It is still writing: the last post was on 2026-10-16, and you can follow it by feed.
Sometimes recommended · 9 of 40 sampled comments recommend it?
Why HN links it
HN readers link this blog for upcoming PostgreSQL features, especially the 'Waiting for PostgreSQL' series, and for explain-plan articles and benchmarks.
- Recommended for · 9 comments
- Called a good blog, a great resource and an interesting article; the 'Explaining the unexplainable' series is loved.
Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Postgres 12 Faster CTEs Optional Materialization15 people · 15 mentions · first linked 2019-02-19
- Why UPSERT is so complicated6 people · 8 mentions · first linked 2012-06-11
- Explaining the Unexplainable (2013) – Understanding Posgtres' EXPLAIN5 people · 6 mentions · first linked 2016-08-25
- Waiting For PostgreSQL 11 – Fast ALTER TABLE ADD COLUMN with a non-NULL default4 people · 4 mentions · first linked 2018-04-04
- Explaining Postgres Explain4 people · 4 mentions · first linked 2018-01-04
- Waiting for PostgreSQL 14 – SEARCH and CYCLE clauses3 people · 3 mentions · first linked 2021-02-04
- Why is it hard to automatically suggest what index to create?3 people · 3 mentions · first linked 2022-07-05
- Waiting for 9.5 – Add Support for INSERT … ON CONFLICT DO NOTHING/UPDATE2 people · 3 mentions · first linked 2015-05-11
- PostgreSQL 12 JSON Path Query2 people · 2 mentions · first linked 2019-03-27
- Waiting for PostgreSQL 15 – Add support for MERGE SQL command2 people · 2 mentions · first linked 2022-04-01
What Hacker News says?
For the backstory on why this has taken so long: http://www.depesz.com/2012/06/10/why-is-upsert-so-complicate...
Comment linking /2012/06/10/why-is-upsert-so-complicated/
on “Postgres gets support for upsert”Submitted Waiting for PostgreSQL 14 – SEARCH and CYCLE clauses as a story · 315 points
HN discussionIf given the choice between do it half-assed but quickly and do it right but using how ever much time is required to arrive there, the PostgreSQL team always choses the latter approach. This conservatism works well for me considering we're talking about a database here. One of the contributors has written an interesting article explaining why upsert is difficult to get right (if by "right" you want it to complete re…
Comment linking /2012/06/10/why-is-upsert-so-complicated/
on “Postgres gets support for upsert”Submitted PostgreSQL 9.0 - Hot Standby, Streaming Replication as a story · 185 points
HN discussionThere has been a lot of improvement in this release. https://www.depesz.com/2020/08/25/waiting-for-postgresql-14-...
Comment linking /2020/08/25/waiting-for-postgresql-14-improvements-for-handling-large-number-of-connections/
on “PostgreSQL 14”Submitted PostgreSQL 15: default permissions for everyone is now restricted to db owner as a story · 120 points
HN discussionHours of work <> Hours of downtime The bigger the database the more complex it will be to implement schema change while keeping track of transactions that happen while your are transitioning. However I see no reason why it shouldn't be feasible given proper amount of preparation. And if short downtime is a goal I don't see why a proper amount of time developing a solution wouldn't make it either. And on top of that…
Comment linking /2017/02/07/waiting-for-postgresql-10-logical-replication/
on “RethinkDB versus PostgreSQL: my personal experience”Submitted PostgreSQL 9.5 will have native sharding as a story · 42 points
HN discussionExecution is down to the RDBMS. Postgres is changing in the next release, BTW: https://www.depesz.com/2019/02/19/waiting-for-postgresql-12-...
Comment linking /2019/02/19/waiting-for-postgresql-12-allow-user-control-of-cte-materialization-and-change-the-default-behavior/
on “We Can Do Better Than SQL”Submitted Waiting for PostgreSQL 14: SEARCH and CYCLE clauses (2021) as a story · 28 points
HN discussionIDEA if you want to use it for other things (or any other JetBrains IDE). Nothing comes close feature-wise. If you don't: - https://www.depesz.com/2022/09/21/prettify-sql-queries-from-... - https://gitlab.com/depesz/pg-sql-prettyprinter Or https://paste.depesz.com for one-off use.
Comment linking /2022/09/21/prettify-sql-queries-from-command-line/
on “What I wish someone told me about Postgres”Submitted Nearest neighbor support in Postgres expanded to over 100 vectors as a story · 12 points
HN discussionIt's coming in the Postgres 18. https://www.depesz.com/2025/02/28/waiting-for-postgresql-18-...
Comment linking /2025/02/28/waiting-for-postgresql-18-virtual-generated-columns/
on “PostgreSQL Full-Text Search: Fast When Done Right (Debunking the Slow Myth)”Submitted Waiting For PostgreSQL 11 – Fast ALTER TABLE ADD COLUMN with a non-NULL default as a story · 11 points
HN discussionI'd suggest opening bugs on drivers (that's the most important one) right now since the feature is officially in the development version. If it doesn't already work that is. That's how it was done for 9.3's expanded diagnostics[0], and as a result both Python's psygopg2[1] and Ruby's ruby-pg[2] (and maybe others) added extended diagnostics support before 9.3 was even released[3], and working from day 1. [0] http://w…
Comment linking /2013/03/07/waiting-for-9-3-provide-database-object-names-as-separate-fields-in-error-messages/
on “PostgreSQL: Jsonb has committed”Submitted PostgreSQL: Waiting for 9.6 – Phrase Full Text Search as a story · 10 points
HN discussionMongoDB accrued a lot of bad-will due to some extremely questionable defaults, which remain defaults to this day. There's no question that you can write a fast database when there's no guarantee that data ever hits the disk, but developers tend not to like it when a database accepts their write and then silently loses data. It's also great for toy problems and 15-minute-demos... but then you inevitably run into its…
Comment linking /2016/01/10/waiting-for-9-6-cube-extension-knn-support/
on “MongoDB shares jump more than 30% in $192M IPO”Submitted PostgreSQL 12 JSON Path Query as a story · 8 points
HN discussionForeign keys for partitions is coming in Postgres 12: https://www.depesz.com/2019/04/24/waiting-for-postgresql-12-...
Comment linking /2019/04/24/waiting-for-postgresql-12-support-foreign-keys-that-reference-partitioned-tables/
on “PostgreSQL Features to Try”Submitted In Postgresql 9.6: parallel joins as a story · 7 points
HN discussionTrue enough, and the solutions for lighter-weight schema changes have evolved and weren't always so good, but early stage startups often don't really have the sort of data-weight issues that make this hard, unless they're starting with large data sets already. Even at the scale of small hundreds of millions of rows per table (like the company I'm in charge of the database for) it's not much of an issue. I had to loo…
Comment linking /2018/04/04/waiting-for-postgresql-11-fast-alter-table-add-column-with-a-non-null-default/
on “The Great Migration from MongoDB to PostgreSQL”Submitted Waiting for 9.6 – Bloom filters in Postgres as a story · 6 points
HN discussionthat tool is a must if you plan improve, depesz (who is here on HN) also has good blog about postgres, he describes new upcoming features. He also wrote a blog series about understanding explain plans: https://www.depesz.com/tag/unexplainable/ his explain tool + that information is really good starting point when trying to optimize queries.
Comment linking /tag/unexplainable/
on “Show HN: pg_flame – flamegraph visualizations of PostgreSQL query plans”Submitted PostgreSQL – How much slower are numerics? as a story · 6 points
HN discussionGiven the input, it can't be - it's just a different visualization. Great one byt the looks of it, too! https://explain.depesz.com/ is an awesome tool too, and I especially love the "Explaining the unexplainable" series: https://www.depesz.com/tag/unexplainable/
Comment linking /tag/unexplainable/
on “Postgres Explain Visualizer”Submitted PostgreSQL: Is my autovacuum configured properly? as a story · 5 points
HN discussionIndeed, a great resouce! I really liked how he explained and benchmarked an implementation for foreign keys to partitioned data (sadly not available natively yet) in this multi-part series from last year: https://www.depesz.com/2018/10/02/foreign-key-to-partitioned...
Comment linking /2018/10/02/foreign-key-to-partitioned-table/
on “PostgreSQL's Explain Analyze Made Readable”Submitted Explaining Postgres Explain as a story · 5 points
HN discussionMaybe add [2008] to the title: https://www.depesz.com/2008/12/04/explaindepeszcom/
Comment linking /2008/12/04/explaindepeszcom/
on “PostgreSQL's Explain Analyze Made Readable”Submitted Don’t do these things in PostgreSQL as a story · 5 points
HN discussion