Andrew Atkinson's Avatar

Andrew Atkinson

@andyatkinson.com

Author of High Performance PostgreSQL for Rails, Staff Engineer, Consultant, Speaker andyatkinson.com/pgrailsbook

2,365
Followers
140
Following
347
Posts
19.07.2023
Joined
Posts Following

Latest posts by Andrew Atkinson @andyatkinson.com

Five PostgreSQL Anti-Patterns Five PostgreSQL Anti-Patterns

Five PostgreSQL Anti-Patterns
By Shey Sewani
shey.ca/2025/09/12/f...

28.02.2026 22:19 πŸ‘ 5 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

You can play the original SkiFree game from the Windows 3.1 days in your browser - this is not a drill! retrotick.com

27.02.2026 17:56 πŸ‘ 6 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

"0.5% selectivity for equality. 33% for ranges. Good luck." Could make a good snarky Postgres t-shirt to wear at Postgres conferences. πŸ˜‚

27.02.2026 19:36 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Were the answers or commits successful (i.e. eliminating the non-determinism)? As you know this is a common problem plaguing a lot of codebases.

26.02.2026 20:56 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
More SQL Antipatterns Level up your SQL skills to develop optimized and scalable SQL applications, avoiding the mistakes most developers make.

I'm excited to have met @billkarwin.geek.org virtually and to get started reading "More SQL Antipatterns," a modernized version of the 2010 classic β€œSQL Antipatterns.” The new book uses Postgres, Python, and is in Beta now. Take a look!

pragprog.com/titles/bksap...

26.02.2026 16:44 πŸ‘ 3 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Book sales page for High Performance PostgreSQL for Rails on Amazon showing the book in the #1 position for the Ruby programming category

Book sales page for High Performance PostgreSQL for Rails on Amazon showing the book in the #1 position for the Ruby programming category

High Performance PostgreSQL for Rails picked up a new 5-star review and is back to #1 in the Ruby Programming category on Amazon. Thank you readers! πŸ’™ @pragprog.com
a.co/d/0e61DsQX

19.02.2026 17:20 πŸ‘ 9 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Scaling Postgres without Boiling the Ocean, Wed, Feb 18, 2026, 12:00 PM | Meetup Shayon Mukherjee is a Principal Engineer at Tines, the intelligent workflow platform that helps security and IT teams securely scale AI and automation. Shayon has deep expe

Tomorrow's Postgres Meetup for All is about scaling Postgres ... but without boiling the ocean. Should be a great discussion. Join us!

www.meetup.com/postgres-mee...

17.02.2026 18:33 πŸ‘ 5 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

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

13.02.2026 16:42 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
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

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-...

13.02.2026 16:10 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
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...

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...

06.02.2026 16:39 πŸ‘ 15 πŸ” 5 πŸ’¬ 5 πŸ“Œ 3

Nice, we haven't yet become a Crunch Labs household, but there's certainly interest!

04.02.2026 16:40 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Nice shirt and you're rockin' those shades! Have a great trip.

04.02.2026 16:39 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Can confirm πŸ₯Ά

31.01.2026 11:45 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

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/...

22.01.2026 18:31 πŸ‘ 5 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

What kind of robot?

22.01.2026 05:08 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Thrilled to see the book selected by the group. Let me know how I can help.

20.01.2026 01:54 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

πŸ“šβœ¨ 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

13.01.2026 21:25 πŸ‘ 3 πŸ” 2 πŸ’¬ 2 πŸ“Œ 0

Awesome looking forward to the episode.

16.01.2026 23:10 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Did they use FFI?

13.01.2026 00:43 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

πŸ“’ 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

06.01.2026 14:50 πŸ‘ 2 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Post image

**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

31.12.2025 21:23 πŸ‘ 3 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

Another win for Ruby on Rails and PostgreSQL (and a LOT of compute power)

27.12.2025 14:18 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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!

27.12.2025 14:17 πŸ‘ 8 πŸ” 0 πŸ’¬ 4 πŸ“Œ 0
Preview
Ruby 4.0.0 Released | Ruby We are pleased to announce the release of Ruby 4.0.0.Ruby 4.0 introduces β€œRuby Box” and β€œZJIT”, and adds many improvements.

πŸŽ„πŸŽ

Ruby 4.0.0 Released
www.ruby-lang.org/en/news/2025...

25.12.2025 04:49 πŸ‘ 21 πŸ” 9 πŸ’¬ 1 πŸ“Œ 0

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...

23.12.2025 09:55 πŸ‘ 1 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Jimmy Angelakos holding up a copy of the book PostgreSQL Mistakes and How to Avoid Them

Jimmy Angelakos holding up a copy of the book PostgreSQL Mistakes and How to Avoid Them

β˜ƒοΈ 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

22.12.2025 14:06 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

Post from @boringsql.com (on Bluesky!)

22.12.2025 22:27 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

Nice post! Via Creston Jamison / Scaling Postgres podcast

VACUUM Is a Lie (About Your Indexes)
boringsql.com/posts/vacuum...

22.12.2025 22:19 πŸ‘ 3 πŸ” 2 πŸ’¬ 1 πŸ“Œ 1
Post image

🐘 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...

19.12.2025 21:34 πŸ‘ 56 πŸ” 6 πŸ’¬ 1 πŸ“Œ 1

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).

19.12.2025 18:36 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0