Postgres 18. uuidv7() applied as a new PK column default. Inserts at 2-10K calls/minute. Inserts total time dropped from 1 millisecond to around 50 microseconds, about ~20x faster. Thanks to Postgres developers for this work which enables PK index maintenance to be much more efficient!
Andrew Atkinson
@andyatkinson.com
Author of High Performance PostgreSQL for Rails, Staff Engineer, Consultant, Speaker andyatkinson.com/pgrailsbook
Upgrade Rails immediately, kids, this is a big one. github.com/rails/rails/...
Possible arbitrary file read and remote code execution in Active Storage variant processing
### Impact In its default configuration, a Rails application that displays image variants may allow an unauthenticated attacker to read arbitrary files from the server, including the process envi...
github.com
> "In other words, I am continually looking for the least complexity for the current requirements and constraints and nothing else." dannorth.net/blog/best-si...
Best Simple System for Now
You can have your cake and eat it, as long as you bake it carefully. ‘We can do this the quick way and pay later, or the thorough way and pay now.’ This seems to be a fundamental dichotomy in software...
dannorth.net
PostgreSQL 18 introduced temporal keys. With the release of PostgreSQL 19 Beta 1, PostgreSQL continues to build on that foundation with even more temporal features. Wrote a blog about WITHOUT OVERLAPS, PERIOD, UPDATE/DELETE ... FOR PORTION OF and more on temporal databases: xata.io/blog/postgre...
Posted Part 2 of Scaling Rails at Aura Frames on Lobsters, and it's doing pretty well. If you're active there (or HMU for an invite), please take a look. Thanks! lobste.rs/s/zijb20/sca...
Scaling Rails: 41M Req/Hour, 8 DBs, disable_joins: true
6 comments
lobste.rs
PostgreSQL 19 beta: you can start logical replication without a restart. wal_level=replica now suffices, effective_wal_level reports what is actually in effect, and sequence values finally replicate. www.postgresql.org/docs/19/rele... pgexperts.com
E.1. Release 19
E.1. Release 19 # E.1.1. Overview E.1.2. Migration to Version 19 E.1.3. Changes E.1.4. Acknowledgments Release date: 2026-??-??, AS OF 2026-05-14 E.1.1. Overview …
postgresql.org
Here's Part 2 of the Aura Frames Christmas scaling story, focused on how we scaled Ruby on Rails from 1 to 8 databases to handle peak holiday load. #rubyonrails #databases #scaling #postgresql andyatkinson.com/how-aura-fra...
Scaling Rails at Aura Frames: Splitting to 8 Primary DBs and Reaching #1 in the App Store
📌 Overview Ruby on Rails has helped make it possible to scale out the database layer, meeting the demands of millions of Aura Frames customers enjoying their digital photo frames. In late 2025, the te...
andyatkinson.com
If you use Hacker News and found this post on the Aura Frame Postgres scaling retrospective interesting, I'd appreciate an upvote! Thanks for considering it. news.ycombinator.com/item?id=4857...
Christmas Outage to #1 App Store Ranking: An Aura Frames Postgres Scaling Retro | Hacker News
news.ycombinator.com
Take a look at how we successfully expanded our Postgres architecture to handle millions of customers setting up hundreds of thousands of new Aura digital photo frames on Christmas Day 2025. #postgresql #databases #scaling andyatkinson.com/postgresql-r...
From Christmas Outage to #1 App Store Ranking: An Aura Frames Postgres Scaling Retrospective
📌 Overview On Christmas Day 2024, Postgres infrastructure powering the Aura Frames API had problems under peak load, being unavailable for three hours and disrupting the experience for new customers. ...
andyatkinson.com
Take a look at how we successfully expanded our Postgres architecture to handle millions of customers setting up hundreds of thousands of new Aura digital photo frames on Christmas Day 2025. #postgresql #databases #scaling andyatkinson.com/postgresql-r...
From Christmas Outage to #1 App Store Ranking: An Aura Frames Postgres Scaling Retrospective
📌 Overview On Christmas Day 2024, Postgres infrastructure powering the Aura Frames API had problems under peak load, being unavailable for three hours and disrupting the experience for new customers. ...
andyatkinson.com
🎙️ New #TalkingPostgres podcast Ep40 is out! Jeremy Schneider talked user groups & co-organizing the Seattle Postgres User Group. Also: Happiness Hints, Oracle to Postgres transitions, & why "it’s like I was born to be here" 🎧 talkingpostgres.com/episodes/how... 📺 www.youtube.com/watch?v=sRod...
Back in 2022, Jason and I discussed the use of NOT VALID for Check and FK constraint types in Postgres. Jason asked why they're not available for NOT NULL around 43:30? Episode #160 @jasonswett.bsky.social 3.5 years later we got 'em! www.codewithjason.com/podcast/1122... bsky.app/profile/andy...
Missed this in PG 18! #postgres We can now add "not null" constraints gradually by using "not valid" initially, which was previously limited to being used for check and foreign key constraint types. Nice. medium.com/@amaan2000mo...
PostgreSQL 18: A Feature-by-Feature Deep Dive for Engineers Who Actually Run It
Async I/O, UUIDv7, skip scan, virtual generated columns, RETURNING OLD/NEW, OAuth 2.0, statistics-preserving upgrades, temporal constraints…
medium.com
Hey backend devs that use Postgres: get after it! Beta Testing PostgreSQL With Docker andyatkinson.com/postgresql-b...
Sale - The Human Side Times are wildly unpredictable right now. Supporting your human side is critical to your ability to adapt. 50% off these titles (and all previous week's titles) with code Spring2026. (AudioBook versions included) Links below
Gave a talk today at #PGData2026 on #Postgres plan management and monitoring. Some exciting changes coming to Postgres 19, and pg_stat_plans (plan statistics) now supports the new release. Full slides from the talk: resources.pganalyze.com/pganalyze_PG...
resources.pganalyze.com
Thanks to yosifkit and Docker: up and running with Postgres 19 Beta 1. Ready to do some tests. github.com/docker-libra... #pgdata #pgdata2026
Add 19.x builds (currently beta 1) by yosifkit · Pull Request #1415 · docker-library/postgres
https://www.postgresql.org/about/news/postgresql-19-beta-1-released-3313/
github.com
Must-reads for Postgres performance enthusiasts! Very comprehensive Radim 👏 @boringsql.com
You trust #postgresql pg_stat_statements bit too much. That might be the problem. It's quietly bending what it reports, and none of it is a bug. Part 1 - everything it tells you boringsql.com/posts/pg-sta... Part 2 - everything it can't boringsql.com/posts/pg-sta...
Humanizing Keynote from Robert Haas at PG Data 2026. It’s about the people. They’re doing hard work. It’s a huge global community. Still need more contributors! Good messages. #pgdata2026 #postgres
“A query that runs in 1ms 99% of the time and 2 seconds the other 1% has a mean_exec_time around 21ms, a number that matches none of its real executions and hides the p99 that's paging your on-call.” @boringsql.com boringsql.com/posts/pg-sta...
pg_stat_statements: everything it tells you
What pg_stat_statements records and what it quietly drops: the queryid jumble that splits one query into many rows, the frozen first-seen query text, and averages that hide your p99.
boringsql.com
Participants are going to set up PGSS on their Docker Postgres instances and we will get into some of its features and limitations! #pgdata2026 #workshops Nice expansion on both by @boringsql.com bsky.app/profile/bori...
You trust #postgresql pg_stat_statements bit too much. That might be the problem. It's quietly bending what it reports, and none of it is a bug. Part 1 - everything it tells you boringsql.com/posts/pg-sta... Part 2 - everything it can't boringsql.com/posts/pg-sta...
Hope to see you at PG DATA 2026 in Chicago this Thursday! We'll go through a workshop in 3 parts covering Postgres query performance, index design, schema management, working with multiple databases, and more! Late registration? Code "ATKINSON50" takes 50% off 2026.pg-data.org
Thanks for the shout out @jessehanley.bsky.social and the heads up about it @jesper.dev! Really enjoyed listening to the trials and tribulations of the Bento (bentonow.com) database migration! cc @aaronfrancis.com bsky.app/profile/most...
Why does Jesse "hate listen" to Mostly Technical? Is he happy that @ianlandsman.com finally stopped Laravel New'ing?!
Nobody Cracks Open a Programming Book Anymore unix.foo/posts/nobody...
Nobody Cracks Open a Programming Book Anymore · unix.foo
A sad look at the state of modern programming books.
unix.foo
Spring Bank Holiday, Memorial Day, Whit Monday - whatever holiday is happening around you today, take advantage of our annual SPRING SALE! Hand-picked books for right now - 50% off with code Spring2026 Details - see our most recent newsletters: pragprog.com/news/in...
@benediktdeicke.com congrats on the Rails PR 🎉 github.com/rails/rails/...
Add support for `RETURNING` to `INSERT`/`UPDATE`/`DELETE` statements by benedikt · Pull Request #47161 · rails/rails
Motivation / Background This pull request adds support for RETURNING clauses to INSERT/UPDATE/DELETE statements in Arel. This is useful to build queries that modify data and return it (or something...
github.com
I’ve got a couple of big blog posts and a book discount code dropping soon, exclusively for newsletter subscribers! Don’t miss it. Subscribe here: pgrailsbook.com
"A roadmap to scaling Postgres" by Kaarel Moppel kmoppel.github.io/2025-04-10-p...
A roadmap to scaling Postgres
After meeting with another database fellow recently - the evergreen topic of database scaling popped up again. That won’t go out of fashion anytime soon I guess, despite the AI advancements and the ri...
kmoppel.github.io
Rubyists! I am reviving Ruby Inside after 12 years of hiatus. I have too many Ruby things I want to blog about :-) So far I've got the archive up and running at rubyinside.com/archives/ - it's a bit of a Ruby time capsule..
Archives · Ruby Inside
rubyinside.com