@mint @feld @nukie @Tij Yeah that's the issue I usually run into.
I have no idea how the supervisor tree in Pleroma looks like, but my theory is that after enough db_connection errors, the error slowly goes up and eventually reaches Pleroma's own supervisor. The maximum number of restarts is set to 3 in the default config and after that is exceeded, it exits and init restarts it.
There's a somewhat rare case when the Pleroma application completely shuts down, but the system process itself still exists and therefore it doesn't get restarted by init. That's the issue I talked about.