There are people wanting to change that - including me, the author of the blog post. I explained in an earlier blog post ([1]) why I chose to work on making snapshots more scalable at this time:
> Lastly, there is the aspect of wanting to handle many tens of thousands of connections, likely by entirely switching the connection model. As outlined, that is a huge project / fundamental paradigm shift. That doesn’t mean it should not be tackled, obviously.
> Addressing the snapshot scalability issue first thus seems worthwhile, promising significant benefits on its own.
> But there’s also a more fundamental reason for tackling snapshot scalability first: While e.g. addressing some memory usage issues at the same time, as switching the connection model would not at all address the snapshot issue. We would obviously still need to provide isolation between the connections, even if a connection wouldn’t have a dedicated process anymore.
> However this means that even if your server can theoretically handle 5000 concurrent reads you will never get there because opening 5000 connections isn't practical. You'll likely hit a memory limit.
It's quite possible to have 5000 connections, even leaving poolers aside. When using huge_pages=on, a connection has an overhead of < 2MiB ([2]). Obviously 10GiB isn't peanuts, but it's also not a crazy amount.
> Why is this generally accepted as ok?
Postgres is an open source project. It's useful in a lot of cases. It's not in some others - partially due to non-fundamental limitations. There's a fairly limited set of developers - we can only work on so many things at a time...
> Decoupling concurrency from connections seems possible via pipelining commands over a single connection.
Could you expand on what you mean here?
> Is it just too late for a project as mature as Postgres?
No. It's entirely doable to decouple processes and connections. It however definitely is a large project, with some non-trivial prerequisites.
[1] https://techcommunity.microsoft.com/t5/azure-database-for-po...
[2] https://blog.anarazel.de/2020/10/07/measuring-the-memory-ove...
EDIT: formatting woes