About Now

PSA: Most databases do not do checksums by default

This is a follow up to my post: PSA: SQLite does not do checksums

My friend, who claims to be a bigger fan of SQLite than me (debatable), said that my previous blog post was unfair. My fren is right in a way. I wrote about SQLite because that’s what I’m most familiar with and what I use every day. But here’s a follow-up: most databases don’t have checksums enabled by default. As explained earlier, even a single bit flip can be devastating, and your database or application won’t even know about it. Alice would have lost money even on Postgres.

I thought I would make a list of databases which don’t have checksums, but it turns out it’s easier to make a list of databases which enable it by default. Postgres, Microsoft SQL Server, and many others don’t have checksums by default!

So, here’s a short list of databases that do enable checksums by default:

Note that the upcoming Postgres 18 will have checksums enabled by default in cluster mode.

Did I miss any? Let me know.

Reading