code: def get_connection_info(info):
      
      if isinstance(info, dict):
          return info.copy()
      elif info.startswith("postgres://") or info.startswith("postgresql://"):
          return parse_connection_string_url(info)
      else:
          return parse_connection_string_libpq(info)
docs: turn a connection info object into a dict or return it if it was a
      dict already.  supports both the traditional libpq format and the new
      url format