The dbt-postgres transformer uses SQL to transform data stored in your warehouse.

Getting Started #

Prerequisites #

If you haven't already, follow the initial steps of the Getting Started guide:

  1. Install Meltano
  2. Create your Meltano project

Installation and configuration #

  1. Add the dbt-postgres transformer to your project using meltano add :

    meltano add transformer dbt-postgres
  2. Configure the settings below using meltano config .

Next steps #

Follow the remaining steps of the Getting Started guide:

  1. Transform loaded data for analysis
If you run into any issues, learn how to get help.

Settings #

Settings for dbt itself can be configured through dbt_project.yml as usual, which can be found at transform/dbt_project.yml in your Meltano project. dbt also has adapter-specific documentation for PostgreSQL.

The settings for transformer dbt-postgres that are known to Meltano are documented below. To quickly find the setting you're looking for, use the Table of Contents at the top of the page.

Projects Directory (project_dir) #

How to use #

Manage this setting using meltano config or an environment variable:

meltano config dbt-postgres set project_dir <project_dir>

export DBT_POSTGRES_PROJECT_DIR=<project_dir>

Profiles Directory (profiles_dir) #

  • Environment variable: DBT_PROFILES_DIR, alias: DBT_POSTGRES_PROFILES_DIR
  • Default: $MELTANO_PROJECT_ROOT/transform/profiles/postgres

How to use #

Manage this setting using meltano config or an environment variable:

meltano config dbt-postgres set profiles_dir <profiles_dir>

export DBT_PROFILES_DIR=<profiles_dir>

Host (host) #

The postgres host to connect to.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config dbt-postgres set host <host>

export DBT_POSTGRES_HOST=<host>

User (user) #

The user to connect as.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config dbt-postgres set user <user>

export DBT_POSTGRES_USER=<user>

Password (password) #

The password to connect with.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config dbt-postgres set password <password>

export DBT_POSTGRES_PASSWORD=<password>

Port (port) #

The port to connect to.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config dbt-postgres set port 1234

export DBT_POSTGRES_PORT=1234

Database (dbname) #

The db to connect to.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config dbt-postgres set dbname <dbname>

export DBT_POSTGRES_DBNAME=<dbname>

Schema (schema) #

The schema to use.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config dbt-postgres set schema <schema>

export DBT_POSTGRES_SCHEMA=<schema>

Keep Alives Idle (keepalives_idle) #

Seconds between TCP keepalive packets.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config dbt-postgres set keepalives_idle 1234

export DBT_POSTGRES_KEEPALIVES_IDLE=1234

Search Path (search_path) #

Overrides the default search path.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config dbt-postgres set search_path <search_path>

export DBT_POSTGRES_SEARCH_PATH=<search_path>

Role (role) #

Role for dbt to assume when executing queries.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config dbt-postgres set role <role>

export DBT_POSTGRES_ROLE=<role>

SSL Mode (sslmode) #

SSL Mode used to connect to the database.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config dbt-postgres set sslmode '[...]'

export DBT_POSTGRES_SSLMODE='[...]'

Commands #

The dbt-postgres transformer supports the following commands that can be used with meltano invoke :

clean #

  • Equivalent to: dbt clean

Delete all folders in the clean-targets list (usually the dbt_modules and target directories.)

How to use #

Run this command using meltano invoke:

meltano invoke dbt-postgres:clean [additional arguments...]

compile #

  • Equivalent to: dbt compile

Generates executable SQL from source model, test, and analysis files. Compiled SQL files are written to the target/ directory.

How to use #

Run this command using meltano invoke:

meltano invoke dbt-postgres:compile [additional arguments...]

deps #

  • Equivalent to: dbt deps

Pull the most recent version of the dependencies listed in packages.yml

How to use #

Run this command using meltano invoke:

meltano invoke dbt-postgres:deps [additional arguments...]

run #

  • Equivalent to: dbt run

Compile SQL and execute against the current target database.

How to use #

Run this command using meltano invoke:

meltano invoke dbt-postgres:run [additional arguments...]

seed #

  • Equivalent to: dbt seed

Load data from csv files into your data warehouse.

How to use #

Run this command using meltano invoke:

meltano invoke dbt-postgres:seed [additional arguments...]

snapshot #

  • Equivalent to: dbt snapshot

Execute snapshots defined in your project.

How to use #

Run this command using meltano invoke:

meltano invoke dbt-postgres:snapshot [additional arguments...]

test #

  • Equivalent to: dbt test

Runs tests on data in deployed models.

How to use #

Run this command using meltano invoke:

meltano invoke dbt-postgres:test [additional arguments...]

freshness #

  • Equivalent to: dbt source freshness

Check the freshness of your source data.

How to use #

Run this command using meltano invoke:

meltano invoke dbt-postgres:freshness [additional arguments...]

build #

  • Equivalent to: dbt build

Will run your models, tests, snapshots and seeds in DAG order.

How to use #

Run this command using meltano invoke:

meltano invoke dbt-postgres:build [additional arguments...]

docs-generate #

  • Equivalent to: dbt docs generate

Generate documentation for your project.

How to use #

Run this command using meltano invoke:

meltano invoke dbt-postgres:docs-generate [additional arguments...]

docs-serve #

  • Equivalent to: dbt docs serve

Serve documentation for your project. Make sure you ran docs-generate first.

How to use #

Run this command using meltano invoke:

meltano invoke dbt-postgres:docs-serve [additional arguments...]

debug #

  • Equivalent to: dbt debug

Debug your DBT project and warehouse connection.

How to use #

Run this command using meltano invoke:

meltano invoke dbt-postgres:debug [additional arguments...]

Looking for help? #

If you're having trouble getting the dbt-postgres transformer to work, look for an existing issue in its repository, file a new issue, or join the Meltano Slack community and ask for help in the #plugins-general channel.

Found an issue on this page? #

This page is generated from a YAML file that you can contribute changes to. Edit it on GitHub!