code: def _pg_to_python_types(self, pg_type: str, udt_name: str):
      primitive_type_mapping = {
          "integer": int,
          "bigint": int,
          "smallint": int,
          "numeric": float,
          "real": float,
          "double precision": float,
          "character": str,
          "character varying": str,
          "text": str,
          "boolean": bool,
          # Add more mappings as needed
      }
  
      user_defined_type_mapping = {
          "vector": np.ndarray
          # Handle user defined types constructed by Postgres extension.
      }
  
      if pg_type in primitive_type_mapping:
          return primitive_type_mapping[pg_type]
      elif (
          pg_type == "USER-DEFINED"
          and udt_name in user_defined_type_mapping
      ):
          return user_defined_type_mapping[udt_name]
      else:
          raise Exception(
              f"Unsupported column {pg_type} encountered in the postgres table. Please raise a feature request!"
          )
  
file_path: evadb/evadb/third_party/databases/postgres/postgres_handler.py
imports: import numpy
  import pandas
  import psycopg2
  from evadb.third_party.databases.types import DBHandler, DBHandlerResponse, DBHandlerStatus
label_desc: Use image node_id 10 for calling the PostgresHandler obj's underlying member method code with example usage: obj._pg_to_python_types(pg_type, udt_name) and returns: primitive_type_mapping, user_defined_type_mapping