.. This file is autogenerated by `docs/scripts/generate_mappings.py`. Do not edit by hand. PostgresUserPassword ==================== Maps Airflow Postgres connections using user + password authentication to dbt profiles. https://docs.getdbt.com/reference/warehouse-setups/postgres-setup https://airflow.apache.org/docs/apache-airflow-providers-postgres/stable/connections/postgres.html This profile mapping translates Airflow connections with the type ``postgres`` into dbt profiles. To use this profile, import it from ``cosmos.profiles``: .. code-block:: python from cosmos.profiles import PostgresUserPasswordProfileMapping profile = PostgresUserPasswordProfileMapping( conn_id = 'my_postgres_connection', profile_args = { ... }, ) While the profile mapping pulls fields from Airflow connections, you may need to supplement it with additional ``profile_args``. The below table shows which fields are required, along with those not required but pulled from the Airflow connection if present. You can also add additional fields to the ``profile_args`` dict. .. list-table:: :header-rows: 1 * - dbt Field Name - Required - Airflow Field Name * - ``host`` - True - ``host`` * - ``user`` - True - ``login`` * - ``password`` - True - ``password`` * - ``port`` - False - ``port`` * - ``dbname`` - True - ``schema`` * - ``keepalives_idle`` - False - ``extra.keepalives_idle`` * - ``sslmode`` - False - ``extra.sslmode`` Some notes about the table above: - This table doesn't necessarily show the full list of fields you *can* pass to the dbt profile. To see the full list of fields, see the link to the dbt docs at the top of this page. - If the Airflow field name starts with an ``extra.``, this means that the field is nested under the ``extra`` field in the Airflow connection. For example, if the Airflow field name is ``extra.token``, this means that the field is nested under ``extra`` in the Airflow connection, and the field name is ``token``. - If there are multiple Airflow field names, the profile mapping looks at those fields in order. For example, if the Airflow field name is ``['password', 'extra.token']``, the profile mapping will first look for a field named ``password``. If that field is not present, it will look for ``extra.token``.