Hacking SaaS #32 - Learning Postgres edition
It is back-to-school time, and we are sharing 10+ good resources for learning Postgres
Perhaps the back-to-school season is generating some learning vibes, but in the last few weeks, several people - on Twitter and on the SaaS Community Slack, asked about resources for learning Postgres or reading more about Postgres. So, this edition may be a bit short, but hopefully very useful for all of you who are interested in learning more about the most exciting database of the decade.
Everyone always rolls their eyes when I say “the documentation is really good”. But… the documentation is really good. You can become quite proficient by reading nothing else. The documentation has one huge advantage over almost every other resource - it has versions that match releases of Postgres. You can even view different versions of the same page! Not all information remains true or relevant over time, and it is sometimes difficult to match blog posts with the version of Postgres they reference. With the official docs, it is very easy. Besides, the docs have something for everyone - beginners and advanced, developers and admins, performance and tools, internals and extensions. Did I already say that the docs are really good?
I’m a nerd, and as such, I’m endlessly curious about how things work under the hood. You don’t really *need* to understand Postgres internals, but it does not hurt either. There are two good internal books: The Internals of Postgres by Hironobu Suzuki and Postgres 14 Internals by Postgres Pro. They cover different aspects in different ways and both are fun to read.
Too busy to read internal books? Want to learn the important bits in about 30 seconds and an easy cheatsheet? Jeremy Scheneider’s Postgres Happiness Hints is for you.
If you are especially interested in database administration, I’ve heard good things about Postgres 16 Administration Cookbook. Although, with all the managed and serverless Postgres around, perhaps administration is going out of style?
If you are using Rails (quite popular for SaaS) and even if you are not, High Performance Postgres for Rails has good advice for developers using Postgres. The author sometimes hangs out on the SaaS Developer Slack, if you have questions.
Nile’s documentation has a short but hopefully useful section on Postgres with basic information and lots of examples. We also have a section on pg_vector, the popular extension for vector search.
If you are into blogs, you should know about the Planet Postgres aggregator - one feed with (almost) every Postgres blog. Most of my favorite bloggers appear there on a regular basis. I enjoy reading Shayon Mukherjee, Andrei Lepikhov, Jeremy Scheneider, Peter Eisentraut, Jonathan Katz and probably a bunch more that I don’t remember at the moment. Which is why the aggregator is so helpful.
If you are into Youtube, my favorite channels are Hussein Nasser, who covers many developer topics but has a lot of very engaging Postgres videos, and PostgresTV, which is more of podcast style and can be harder to follow but has great guests and conversations.
Depending on where you live, your local meetup can be a great resource. You can learn a lot from the presentations (usually monthly) and even more from chatting to people and making friends. San Francisco has virtual meetups, so you can join even if you live a bit farther away. You can find local events in the community events page and user groups page.
And last tip: You need to upgrade. Why? depesz can tell you at
https://why-upgrade.depesz.com/ - just enter your current version and the one you are considering, and you’ll get plenty of good reasons.
With all those resources, I hope this made your learning journey a bit easier. Did I miss your favorite resource? Comment and let us know!