Conversation

One of the more extreme examples of this is the choice of using a 1:1 connection:process model for postgres. In the university days that was a short-term thing, because there was no cross-platform thread library yet (pthreads were about to be standardized).
4
11
Whenever the topic is discussed now there's a lot of "increases robustness" style arguments about why it's the right choice. While there's a small bit of that, it's quite minimal - if one process exits unexpectedly we *still* crash/restart the whole postgres instance.
1
5
There's plenty of pragmatic reasons to not switch postgres to threading (bigger bang for the buck working on other things, the inevitably of new bugs in introduced in a switch, expertise, ...). But arguing that it's the architecturally right choice in a green field is ludicrous.
4
15