Join Nostr
2026-10-07 05:44:31 UTC
in reply to

LisPi on Nostr: > but I'm curious as to what are the problems of storing them in db. Re-checking as a ...

> but I'm curious as to what are the problems of storing them in db.

Re-checking as a result of this conversation did remind me that one pretty much ends-up with a necessary garbage collection daemon or timer, because most of the databases *don't* expose a callback for destructors on failed transactions (SQLite included).

This can result in considerable wasted resources (borg compaction being a manual step has similar drawbacks; its handling failed/orphaned objects is frequently considerably worse).

SQLite has size limits for blobs that are set at compile-time, by default 1GB.

PostgreSQL has similar limits for inline blobs, while its Large Object facility has single-table storage limits that shouldn't apply because it should be using automatically-generated partitioned tables for the feature.

The others are a mix of the same and having a bunch of issues *as DBMSes* that make them a bad choice in general.

> This is what pragma synchronous is about

Ah, the interaction I had missed. Combined with the previous pragmas you mentioned, one *could* have something reasonable with that.