docs: public static QueryExecutor openConnection(HostSpec[] hostSpecs, String user,
        String database, Properties info) throws SQLException {
      String protoName = PGProperty.PROTOCOL_VERSION.get(info);
  
      if (protoName == null || protoName.isEmpty() || "3".equals(protoName)) {
        ConnectionFactory connectionFactory = new ConnectionFactoryImpl();
        QueryExecutor queryExecutor = connectionFactory.openConnectionImpl(
            hostSpecs, user, database, info);
        if (queryExecutor != null) {
          return queryExecutor;
        }
      }
  
      throw new PSQLException(
          GT.tr("A connection could not be made using the requested protocol {0}.", protoName),
          PSQLState.CONNECTION_UNABLE_TO_CONNECT);
    }