I'm one of the maintainers of postgrex [1] - an Elixir client for Postgresql. We implement the wire protocol and connect directly through tcp. We got a bug report indicating we got an unexpected ErrorMessage packet in reply to SSLRequest.
The documentation [2] indicates this can only ever happen on a "very ancient server" that does not have SSL support, but the bug report indicated it happened with 9.6.5 (on a fairly new Heroku instance). Importantly, when we got that reply, other connections to that server were failing with ERROR 53200 (out_of_memory) and the problematic SSLRequest/ErrorMessage exchange happened during reconnection attempts.
I wonder, if this is a bug or rather an omission in the docs that the ErrorMessage can happen under some failure scenarios other than lack of SSL support.