Hacker Blogs
Work in progress: 15,409 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #606

C

Craig Kerstiens

Personal blog · craigkerstiens.com · on HN as craigkerstiensdatastartups

Craig Kerstiens writes CRAIG KERSTIENS, a personal blog at craigkerstiens.com about data and startups. Since 2011, 101 different Hacker News readers have linked it 254 times, most often “Using Email as an Effective Tool”. It is still writing: the last post was on 2024-11-11, and you can follow it by feed.

Visit the blog
254mentions?
3recommend?
101HN people?
2011–2025first – last linked?
Links on Hacker News per year · peak 36 in 2019

Too few sampled comments (16) to say how often HN recommends it.?

Why HN links it

HN readers link Craig Kerstiens's blog for its PostgreSQL posts, such as how he works with psql and on sharding, indexing and extensions. Comments cite his posts as practical references rather than praising the writing directly.

Recommended for · 3 comments
One commenter calls his PostgreSQL posts great and says they are all worth a read; another says his explanations are concise and easy to follow and that the blo

Summarised by Claude from a sample of 16 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

The author on HN?

craigkerstiens · 32,068 karma · member since 2008

I work at Snowflake building best in class Postgres via Crunchy Data, building Snowflake Postgres - a multi-cloud Postgres managed service. Previously I ran product at Azure Postgres, product at Citus data, and a number of product areas at Heroku. You can find more thoughts from me: https://www.craigkerstiens.com

From their public HN profile, which links to this site.

Most-linked posts?

  1. Using Email as an Effective Tool
    4 people · 4 mentions · first linked 2019-04-16
  2. Why Postgres
    4 people · 4 mentions · first linked 2012-08-24
  3. Top Product Skills: SQL, Excel, Communication, Story, Prioritization
    3 people · 5 mentions · first linked 2021-04-27
  4. /2013/02/13/How-I-Work-With-Postgres/
    3 people · 5 mentions · first linked 2013-08-19
  5. Getting started with JSONB in Postgres
    3 people · 5 mentions · first linked 2017-03-12
  6. The best Postgres feature you're not using – CTEs aka WITH clauses
    3 people · 5 mentions · first linked 2013-11-18
  7. Gonna use a personal trick/hack? Use it often (2022)
    3 people · 4 mentions · first linked 2022-11-22
  8. Come over for Dinner
    3 people · 4 mentions · first linked 2019-05-01
  9. Documenting your PostgreSQL database
    3 people · 3 mentions · first linked 2013-08-01
  10. When to ship it, when to kill it
    3 people · 3 mentions · first linked 2014-08-14

What Hacker News says?

  1. A quick Google of this dude's handle/name and the first link is his blog with a reflective article about his experience at and subsequent departure from Heroku: https://www.craigkerstiens.com/2022/05/18/unfinished-busines...

    Comment linking /2022/05/18/unfinished-business-with-postgres/

    on “Removal of Heroku free product plans”
  2. Submitted Give Me Back My Monolith as a story · 861 points

    HN discussion
  3. One of the best pieces of feedback I got at Heroku was don't stress too much on it being perfect. In fact you can make it rough as if drawn on a napkin so it intentionally isn't visually polished and it accomplishes its goal. I in fact started doing some of this way back at Heroku 9 years ago and the approach worked well. Now I've leveled that up with an iPad and paper. Yes, there are places that have designers and…

    Comment linking /2011/11/07/how-heroku-works-maker-day/

    on “How some good corporate engineering blogs are written”
  4. Submitted SQL: One of the most valuable skills as a story · 821 points

    HN discussion
  5. We do follow something quite similar. The write up on how our process works is here: http://www.craigkerstiens.com/2011/12/02/how-heroku-works-hi...

    Comment linking /2011/12/02/how-heroku-works-hiring/

    on “Why 37signals Doesn't Hire Programmers Based on Brainteasers”
  6. Submitted Why Use Postgres? as a story · 568 points

    HN discussion
  7. I've written a couple of blog posts about what makes Postgres a great database, many of these reasons are why its now preferred by so many devs - http://www.craigkerstiens.com/2012/04/30/why-postgres/

    Comment linking /2012/04/30/why-postgres/

    on “Amazon RDS for PostgreSQL”
  8. Submitted Postgres 11 – A First Look as a story · 390 points

    HN discussion
  9. I would start with the Mode Analytics SQL tutorial. It's fairly robust and gets into advanced topics: https://community.modeanalytics.com/sql/tutorial/introductio... That will get you pretty far but the advanced SQL topics will require the study of what the underlying database provides and how it works. Every database is different in terms of how it implements advanced features, if at all. For example, MySQL doesn't…

    Comment linking /

    on “Ask HN: What is the best online resource to learn advanced SQL?”
  10. Submitted Working with time in Postgres as a story · 343 points

    HN discussion
  11. Oh, I generally agree. I didn't mean the graybeard in a bad way at all. I feel a bit 50-50 on some of the reactions to JSON as a new thing at the time. But, also the practicality of how JSONB finally came to exist, the foundation it was built on and the new index types[1] in Postgres to leverage it felt like it came in the right time and in the right way. [1] http://www.craigkerstiens.com/2017/03/12/getting-started-…

    Comment linking /2017/03/12/getting-started-with-jsonb-in-postgres/

    on “Why SQL is beating NoSQL, and what this means for the future of data”
  12. Submitted Give me back my monolith (2019) as a story · 331 points

    HN discussion
  13. You can use the .psqlrc for this purpose, though I suppose you could also real that in via a file on demand, too. You make entries something like: \set show_slow_queries 'SELECT (total_time / 1000 / 60) as total_minutes, (total_time/calls) as average_time, query FROM pg_stat_statements ORDER BY 1 DESC LIMIT 100;' (got from https://www.craigkerstiens.com/2013/02/21/more-out-of-psql/ ) and then later at the command pr…

    Comment linking /2013/02/21/more-out-of-psql/

    on “You Don't Need a GUI”
  14. Submitted OKRs Aren't Going to Fix Your Communication Issues as a story · 324 points

    HN discussion
  15. The persistent connections that now exist within Django should give a quite but great performance boost for the vast majority of Django applications, which are not already running a connection pooler ( http://www.craigkerstiens.com/2013/03/07/Fixing-django-db-co... ). This alone can be reason enough to upgrade in addition to all the other improvements.

    Comment linking /2013/03/07/Fixing-django-db-connections/

    on “Django 1.6 released”
  16. Submitted Better Database Migrations in Postgres as a story · 316 points

    HN discussion
  17. Yes! Range types should absolutely be in here. I had them as one of the top items in a recent post so thought it'd be a bit repetitive[1], but in retrospect, it should absolutely be here as well. [1] http://www.craigkerstiens.com/2017/04/30/why-postgres-five-y...

    Comment linking /2017/04/30/why-postgres-five-years-later/

    on “Working with time in Postgres”
  18. Submitted Dear Postgres as a story · 300 points

    HN discussion
  19. This is a really handy list, but misses a few of my favorites. The first is \e to open up your default $EDITOR for the query. In the past I've actually setup sublime text to open up my last run query, be able to edit it, close and save and it'll execute. I'd imagine you could do the same with vscode, though I'm currently just configured for vim personally. The second isn't really psql commands, but that you can setu…

    Comment linking /2013/02/13/how-i-work-with-postgres/

    on “Psql command line tutorial and cheat sheet”
  20. Submitted Why Use Postgres as a story · 269 points

    HN discussion
  21. It might be useful to include a link so people from here can spam it. Like this: http://www.craigkerstiens.com/2019/03/29/okrs-arent-going-to...

    Comment linking /2019/03/29/okrs-arent-going-to-fix-your-communication/what_the_fuck_are_okrs_craig

    on “OKRs Aren't Going to Fix Your Communication Issues”
  22. Submitted Writing more legible SQL as a story · 195 points

    HN discussion
  23. New to the Microsoft team I got an early look at this and was super excited. Personally I'm biased towards psql [1], but admittedly there are many that prefer a GUI interface [2] when working with their database. Postgres is a great and powerful database, but as a community we're behind in this aspect. While I don't think we need a million editors for a database that there isn't a clear winner when it comes to Postg…

    Comment linking /2013/02/13/How-I-Work-With-Postgres/

    on “Azure Data Studio: An Open-Source GUI Editor for Postgres”
  24. Submitted Postgres 9.5 feature rundown as a story · 191 points

    HN discussion
  25. Peter van Hardenberg (@pvh) and Craig Kerstiens (@craigkerstiens) have done many Postgres presentations over the last few years. I didn't see any specifically on lessons learned, but their blogs/quora/tweets have lots of good info based on their experience. http://www.craigkerstiens.com/ http://www.quora.com/Peter-van-Hardenberg

    Comment linking /

    on “Handling Growth with Postgres”
  26. Submitted Postgres features and tips as a story · 190 points

    HN discussion
  27. There are a couple big things that are probably useful context here. The first is the different between core team and committers. The core team is much more like a steering committee than anything else. The core team is responsible for various policy issues, coordinating broader release activities, and handling disciplinary issues. In contrast, committers are the ones that determine what code goes in and does not. T…

    Comment linking /2017/10/31/postgres-the-non-code-bits/

    on “PostgreSQL community impact of 2nd Quadrant purchase”
  28. Submitted Unfinished Business with Postgres as a story · 165 points

    HN discussion
  29. ozgune · 2016-09-22Recommends
    Good read! I also found the following post useful and practical for getting press for startups: http://www.craigkerstiens.com/2015/07/21/An-intro-PR-guide-f...

    Comment linking /2015/07/21/An-intro-PR-guide-for-startups/

    on “Getting Press for Your Startup”
  30. Submitted Understanding Postgres Performance as a story · 165 points

    HN discussion

Search all of HN for craigkerstiens.com

Linked by the same people?