dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications.
dbt is the T in ELT. Organize, cleanse, denormalize, filter, rename, and pre-aggregate the raw data in your warehouse so that it's ready for analysis.
The dbt-postgres
package contains all of the code enabling dbt to work with a Postgres database. For
more information on using dbt with Postgres, consult the docs.
- Install dbt
- Read the introduction and viewpoint
By default, dbt-postgres
installs psycopg2-binary
. This is great for development, and even testing, as it does not require any OS dependencies; it's a pre-built wheel. However, building psycopg2
from source will grant performance improvements that are desired in a production environment. In order to install psycopg2
, use the following steps:
if [[ $(pip show psycopg2-binary) ]]; then
PSYCOPG2_VERSION=$(pip show psycopg2-binary | grep Version | cut -d " " -f 2)
pip uninstall -y psycopg2-binary
pip install psycopg2==$PSYCOPG2_VERSION
fi
This ensures the version of psycopg2
will match that of psycopg2-binary
.
See CONTRIBUTING.md
for a detailed overview of contributing a code change to this adapter.
- Be part of the conversation in the dbt Community Slack
- Read more on the dbt Community Discourse
- Want to report a bug or request a feature? Let us know on Slack, or open an issue
- Want to help us build dbt? Check out the Contributing Guide
Everyone interacting in the dbt project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the dbt Code of Conduct.