I think there needs to be a careful analysis of the language and a formal effort to stabilise it for the future.
In the context of, say, an Oracle T series, which is partitioned into multiple domains (virtual machines) in it, each
of these has multiple CPUs, and can run an instance of the OS which hosts multiple virtual instances
of the same or different OSes. Som domains might do this while others do not!
A host could be a domain, one of many virtual machines, or it could be one of many hosts on that VM
but even these hosts could be virtual machines that each runs several virtual servers!
Of course, PostgreSQL can run on any tier of this regime, but the documentation at least needs to be consistent
about language.
A "machine" should probably refer to hardware, although I would accept that a domain might count as "virtual
hardware" while a host should probably refer to a single instance of OS.
Of course it is possible for a single instance of OS to run multiple instances of PostgreSQL, and people do this. (I have
in the past).
Slightly more confusingly, it would appear possible for a single instance of an OS to have multiple IP addresses
and if there are multiple instances of PostgreSQL, they may serve different IP Addresses uniquely, or
share them. I think this case suggests that a host probably best describes an OS instance. I might be wrong.
The word "server" might be an instance of any of the above, or a waiter with a bowl of soup. It is best
reserved for situations where clarity is not required.
If you are new to all this, I am sure it is very confusing, and inconsistent language is not going to help.
Andrew
AFAICT