September 16, 2024

Dedicated adapters used by dbt Core

Learn about dbt Core's data platform adapters (e.g., PostgreSQL) for connecting & using various SQL-speaking platforms (warehouses, databases).
Dexter Chu
Head of Marketing

What are the dedicated adapters used by dbt Core?

dbt Core uses dedicated adapters for each data platform to facilitate communication. These adapters are Python modules that enable dbt Core to interact with databases, query engines, and other data platforms. Each adapter is specifically designed for a unique SQL-speaking technology.

pip install dbt-postgres

This code example demonstrates how to install the PostgreSQL adapter for dbt Core using pip, a package manager for Python. This is a necessary step before you can connect to dbt Core.

     
  • PostgreSQL: A popular open-source relational database management system.
  •  
  • Adapter: A Python module that allows dbt Core to communicate with a specific SQL-speaking technology.
  •  
  • Pip: A package manager for Python used to install Python packages.

How to connect to dbt Core?

To connect to dbt Core, you need to install the adapter for your data platform, connect to dbt Core, and set up a profiles.yml file. This can be done using the command line (CLI).

dbt debug --config-dir

This code example shows how to check the location of the profiles.yml file using dbt debug command. The profiles.yml file is where you define your connection configurations to dbt Core.

     
  • Command Line Interface (CLI): A text-based interface used for interacting with software and operating systems.
  •  
  • profiles.yml: A file where you define your connection configurations to dbt Core.
  •  
  • dbt debug: A dbt command used to check the location of the profiles.yml file.

What are SQL-speaking platforms?

SQL-speaking platforms are data platforms that dbt Core can communicate with. These platforms include warehouses, databases, lakes, and query engines. The adapters for these platforms are categorized as Verified, Trusted, or Community.

# No specific code example for this section

There is no specific code example for this section as it is more of a conceptual understanding rather than a practical application.

     
  • SQL-speaking platforms: Data platforms that dbt Core can communicate with, including warehouses, databases, lakes, and query engines.
  •  
  • Verified, Trusted, or Community: The categories of adapters based on their reliability and community support.

What is the role of the profiles.yml file in dbt Core?

The profiles.yml file is where you define your connection configurations to dbt Core. It is a crucial component in the setup process to connect to dbt Core.

profiles:
 target: dev
 outputs:
   dev:
     type: postgres
     host: localhost
     user: [username]
     pass: [password]
     dbname: [database name]
     schema: [schema name]

This code example shows a basic configuration of a profiles.yml file for a PostgreSQL database. You need to replace [username], [password], [database name], and [schema name] with your actual database details.

     
  • profiles.yml: A file where you define your connection configurations to dbt Core.
  •  
  • PostgreSQL: A popular open-source relational database management system.
  •  
  • Schema: The structure of a database that defines the tables, fields, and relationships between them.

How does dbt Core support a wide range of data platforms?

dbt Core supports a wide range of data platforms by using dedicated adapters for each platform. These adapters are Python modules that allow dbt Core to communicate with various SQL-speaking platforms such as warehouses, databases, lakes, and query engines.

# No specific code example for this section

There is no specific code example for this section as it is more of a conceptual understanding rather than a practical application.

     
  • SQL-speaking platforms: Data platforms that dbt Core can communicate with, including warehouses, databases, lakes, and query engines.
  •  
  • Adapters: Python modules that allow dbt Core to communicate with a specific SQL-speaking technology.

Keep reading

View all