Do not depend on the lack of a server for connecting: Postgres has a valid and common use case where the server name (aka host) is empty, as the connection is via a Unix socket. Instead, check if a $user has been sent to the function, as all databases can agree that we need at least that much before doing an open. Fixes
bug 28167.