>>105547903
Anon that was a few years ago. Postgres maintains multiple versions for ages - right now the latest version is postgres 17 and meanwhile postgres 13 is still maintained until the end of this year.
The point is that it shouldn't just suddenly break on a routine system update. If I know my database is reaching EOL, or if I want to be on the latest version just for good measure, I can update on my own time. But in the meantime I should be able to update all my system packages without worrying about my database.
Or if you're REALLY going to force upgrade to an incompatible package, either you need a smart system to auto-migrate (still at terrible idea), or at least clearly and loudly tell the user what's happening. Not as some log line somewhere among the 80 package update messages way back in your terminal scrollback, but as an explicit action item summary shown at the end and ideally even queryable by the user afterwards.
This is actually not dissimilar to my complaint about updated configs (not telling the user what needs to be done and giving them a convenient way to do it). And actually gentoo again has that solved, with eselect news providing a convenient channel to notify users of major breaking changes and any actions or migrations required from their end - so you can usually do emerge world updates without any fear, and then at the end it prominently tells you "there are X unread news items" (usually only one, if at all, user-affecting breakages are rare after all) and then you can always go back and check what needs to be done.

The more I think about it - Gentoo on a server would unironically work well.