Audience question: wouldn't running Postgres on the same machine save most of the headaches and avoid the migration? Wrona: even same-machine Postgres has serialization and socket overhead versus an in-process SQLite (so N+1s still cost more), you still have to manage connection pooling and Postgres operations, and SQLite is purpose-built for embedding. Also, the migration took only ~3 days of one person's work and is fully reversible.