Do you actually have such an uptime requirement or do you think you have such an uptime requirement? How are you conducting it with other databases?
We pay Microsoft to perform upgrades transparently for us. They have multiple servers and they shuffle transaction logs and traffic between them to ensure availability during outages and upgrades. There are 6 copies of each database in different regions. Not sure how that is relevant, though?
But it is not. It's complex to do properly, just like with most if not all other databases. Claiming that it is easy as is just ignorant and spreading such misinformation is bad.
It's not a weakness in Postgres.
Managing upgrades in a highly available, close to 100% uptime database is hard.
If you want piece of cake, outsource this service and be happy enjoying the database features working as you please.