Andrew Atkinson
banner
andyatkinson.com
Andrew Atkinson
@andyatkinson.com
Author of High Performance PostgreSQL for Rails, Staff Engineer, Consultant, Speaker

andyatkinson.com/pgrailsbook
Pinned
#1 in Ruby programming, top 80 all databases books, top 80k of all books on Amazon among millions. Alright! Thank you very much to readers!
Re: commenting on indexes, I like the ideas to track creation time and last reindex timestamps as comments. Could use comma separated key:value for a format. Using a shared script on a team, it could perform the operation then annotate it. @samokhvalov.bsky.social @michristofides.com
February 13, 2026 at 4:42 PM
Re: query comments in Rails @samokhvalov.bsky.social @michristofides.com besides Marginalia, there’s also Query Logs built into Rails, which is also based on the SQLCommenter standard. Also, I always recommend enabling source code line level info.

andyatkinson.com/source-code-...
Source code locations for database queries in Rails with Marginalia and Query Logs
Intro Back in 2022, we covered how to log database query generation information from a web app using pg_stat_statements for Postgres. https://andyatkinson.com/blog/2022/10/07/pgsqlphriday-2-truths-lie
andyatkinson.com
February 13, 2026 at 4:11 PM
Reposted by Andrew Atkinson
They've essentially killed @heroku.com. If Rails developers want something better, seriously check out @hatchbox.io. It's honestly amazing, and Chris is a super-nice guy. I use it for @pagecord.com and couldn't be happier.

www.heroku.com/blog/an-upda...
An Update on Heroku
Today, Heroku is transitioning to a sustaining engineering model focused on stability, security, reliability, and support. Heroku remains an actively supported, production-ready platform, with an emph...
www.heroku.com
February 6, 2026 at 4:39 PM
Can confirm 🥶
🥶 ❄️ ☃️ It has been COLD in the US this week. Saturday, Brimson Minnesota was -43˚F (-42˚C)

So, until the end of the week, pretty much everything is -43% at the Bookshelf.
Just use coupon code Brrr when you check out.
Stay Warm. Only at pragprog.com
­
January 31, 2026 at 11:45 AM
Reposted by Andrew Atkinson
New in Beta -
All new with advanced queries like relational division, efficient pagination, and pivoting. Explore optimization tradeoffs, including denormalization, JSON, and choosing SQL versus NoSQL. Scaling out with sharded databases.
pragprog.com/titles/...
January 22, 2026 at 6:31 PM
Reposted by Andrew Atkinson
📚✨ ICYMI — Book Club @ WNB.rb!
Just getting started & you’re welcome to jump in 💜
High Performance PostgreSQL for Rails 🚀

🗓 Thu • 12:30 PM ET
💬 wnb-rb.dev

#WNBrb #RubyOnRails #RubyCommunity #onlinemeetup
January 13, 2026 at 9:25 PM
Reposted by Andrew Atkinson
📢 PG DATA 2026 CFP — Deadline Extended!
Holiday travel slowed things down, so we’ve extended the Call for Proposals.
🗓️ New deadline: Jan 7, 2026
👉 Submit: sessionize.com/pg-data-2026
🌐 Learn more: 2026.pg-data.org
#PGDATA2026 #PostgreSQL#CallForProposals #PostgresCommunity #DataConference
January 6, 2026 at 2:50 PM
Reposted by Andrew Atkinson
**Reminder**
PG DATA 2026 CFP is open!

We’re looking for PostgreSQL talks

Submit your proposal!
sessionize.com/pg-data-2026

#PGData2026 #PostgreSQL #PostgresCommunity #CallForPapers #CFP #TechSpeakers #DataConference #MidwestTech #ChicagoTec
December 31, 2025 at 9:23 PM
Thrilled to see my contributions to the custom DB sharding design help power the backend of the #1 ranked Apple App Store app over the weekend!
December 27, 2025 at 2:17 PM
Reposted by Andrew Atkinson
Reposted by Andrew Atkinson
If you update or delete often rows watching bloat tables and indexes is important. This article is a great explanation and I also recommend using the gem rails-pg-extras to watch bloat ratios: github.com/pawurb/rails...
December 23, 2025 at 9:55 AM
Reposted by Andrew Atkinson
☃️ This holiday season, give the gift of Postgres! 🐘🎁

​Grab a copy of "PostgreSQL Mistakes and How to Avoid Them" to learn from the pros and optimize your database.

🏷️ ​Save 35% with code: au35ang

​Get it here: hubs.la/Q03Nc0hv0

​#TechBooks #Books #PostgreSQL #Postgres #OpenSource #Database
December 22, 2025 at 2:06 PM
Nice post! Via Creston Jamison / Scaling Postgres podcast

VACUUM Is a Lie (About Your Indexes)
boringsql.com/posts/vacuum...
VACUUM Is a Lie (About Your Indexes)
PostgreSQL VACUUM cleans tables but leaves indexes bloated. Learn why B-trees fragment and how to fix them properly.
boringsql.com
December 22, 2025 at 10:19 PM
Reposted by Andrew Atkinson
🐘 Oh, that's nice: Postgres 19 is going to ship read-your-writes for standbys when using asynchronous replication, via a new command WAIT FOR LSN (similar to WAIT_FOR_EXECUTED_GTID_SET in MySQL). Very cool!

www.postgresql.org/docs/devel/w...
December 19, 2025 at 9:34 PM
We're in the final phase of prep for Postgres infrastructure: online maintenance work, ahead of expected big load next week.

We're rebuilding all indexes for tables (concurrently) or individually for jumbo ones. Recent example reduced total index size (4) for a table by ~40%! (~50GB in this case).
December 19, 2025 at 6:36 PM
Optimizing the index (micro optimization) supporting a query that runs at about 3100 QPS, expected to scale up further in the peak period. Added a custom covering index. Now it's an index only scan, no heap fetches, 4 shared buffer hits in total, 16 microseconds execution time. 👌
December 16, 2025 at 9:41 PM
Scrolling HN this morning and saw my UUID v4 blog post was submitted and made it to the front page.

news.ycombinator.com/item?id=4627...
Avoid UUIDv4 Primary Keys | Hacker News
news.ycombinator.com
December 15, 2025 at 2:39 PM
Prod example today of game-changing alignment of query and targeted Postgres index. Added multicolumn index on an expression. 2.5m rows. Query duration avg 1200 ms. Slowest sample @pganalyze.bsky.social 2300 ms (2.3 seconds). With index exec now just 3 shared buffer hits, 1.2 ms. 99.99% faster!
December 12, 2025 at 8:17 PM
Reposted by Andrew Atkinson
A quick reminder that the PG DATA 2026 Call for Proposals is still open!

Submit here: sessionize.com/pg-data-2026

#PGData2026 #PostgreSQL #PostgresCommunity #CallForPapers #CFP #TechSpeakers #DataConference #MidwestTech #ChicagoTech
December 10, 2025 at 9:47 PM
Reposted by Andrew Atkinson
Meet the PG Data 2026 CFP Committee!

They’re shaping a program that highlights innovation, real-world Postgres expertise, and diverse voices. Inspiring talks that elevate the Midwest Postgres ecosystem!

#PGData2026 #PostgreSQL #PostgresCommunity #PGConf #CFPCommittee
December 6, 2025 at 3:47 AM
Thanks to buyers over the Thanksgiving holiday weekend, the save50 promo, and BFCM.

Great to see High Performance PostgreSQL for Rails back in the best sellers list! @pragprog.com
December 6, 2025 at 1:23 AM
Reposted by Andrew Atkinson
PG DATA CfP is open! We’re building a new Postgres conference series focused on education, community, and collaboration.

👉 Submit your talk proposal here: sessionize.com/pg-data-2026

Join us in June!

#PGData2026 #PostgreSQL #PostgresCommunity #MidwestTech #ChicagoTech
December 1, 2025 at 3:05 AM
Newsletter issue sent to 1020 recipients!

50% off Prag Prog books. Conferences. Winding down 2025. — Issue #21

Subscribe here and ping me if you missed it and want to see it:
pgrailsbook.com
High Performance PostgreSQL for Rails
pgrailsbook.com
November 28, 2025 at 6:42 PM
Reposted by Andrew Atkinson
I collected all Ruby Black Friday deals I could find & posted them in one spot. Highlights include:

$130 off @beautifulruby.com Phlex on Rails course

$81 off @gorails.com annual subscription

+20% @joemasilotti.com Hotwire native content

Lots of @pragprog.com deals

Enjoy! 🦃🔥💰
2025 Ruby Black Friday Deals
Save money on Ruby books, courses, and software
beautifulruby.com
November 27, 2025 at 8:58 PM
Reposted by Andrew Atkinson
Pragprog Early Black Friday sale
50% off with code Save50
Includes all Beta books
pragprog.com/categor...
November 24, 2025 at 6:55 PM