class_docstr: Interact with Postgres.
  
  You can specify ssl parameters in the extra field of your connection
  as ``{"sslmode": "require", "sslcert": "/path/to/cert.pem", etc}``.
  Also you can choose cursor as ``{"cursor": "dictcursor"}``. Refer to the
  psycopg2.extras for more details.
  
  Note: For Redshift, use keepalives_idle in the extra connection parameters
  and set it to less than 300 seconds.
  
  Note: For AWS IAM authentication, use iam in the extra connection parameters
  and set it to true. Leave the password field empty. This will use the
  "aws_default" connection to get the temporary token unless you override
  in extras.
  extras example: ``{"iam":true, "aws_conn_id":"my_aws_conn"}``
  For Redshift, also use redshift in the extra connection parameters and
  set it to true. The cluster-identifier is extracted from the beginning of
  the host field, so is optional. It can however be overridden in the extra field.
  extras example: ``{"iam":true, "redshift":true, "cluster-identifier": "my_cluster_id"}``
  
  :param postgres_conn_id: The :ref:`postgres conn id <howto/connection:postgres>`
      reference to a specific postgres database.
  :param options: Optional. Specifies command-line options to send to the server
      at connection start. For example, setting this to ``-c search_path=myschema``
      sets the session's value of the ``search_path`` to ``myschema``.
docstr: Serialize a cell.
  
  PostgreSQL adapts all arguments to the ``execute()`` method internally,
  hence we return the cell without any conversion.
  
  See http://initd.org/psycopg/docs/advanced.html#adapting-new-types for
  more information.
  
  :param cell: The cell to insert into the table
  :param conn: The database connection
  :return: The cell
docstr_tok: ["Serialize","a","cell",".","PostgreSQL","adapts","all","arguments","to","the","``","execute","(",")","``","method","internally",",","hence","we","return","the","cell","without","any","conversion",".","See","http",":","\/\/initd.org\/psycopg\/docs\/advanced.html","#","adapting-new-types","for","more","information",".",":","param","cell",":","The","cell","to","insert","into","the","table",":","param","conn",":","The","database","connection",":","return",":","The","cell"]
code: def _serialize_cell(
      cell: object, conn: connection | None = None
  ) -> Any:
      """Serialize a cell.
  
      PostgreSQL adapts all arguments to the ``execute()`` method internally,
      hence we return the cell without any conversion.
  
      See http://initd.org/psycopg/docs/advanced.html#adapting-new-types for
      more information.
  
      :param cell: The cell to insert into the table
      :param conn: The database connection
      :return: The cell
      """
      return cell
  
imports: from __future__ import annotations
  import os
  import warnings
  from contextlib import closing
  from copy import deepcopy
  from typing import TYPE_CHECKING, Any, Iterable, Union
  import psycopg2
  import psycopg2.extensions
  import psycopg2.extras
  from psycopg2.extras import DictCursor, NamedTupleCursor, RealDictCursor
  from airflow.exceptions import AirflowProviderDeprecationWarning
  from airflow.providers.common.sql.hooks.sql import DbApiHook
label_desc: Use image node_id 10 for calling the PostgresHook obj's underlying member method code with example usage: obj._serialize_cell(cell, conn) and returns: cell