TiDB setup
Vendor-supported plugin
Some core functionality may be limited. If you're interested in contributing, check out the source code repository listed below.
Overview of dbt-tidb
- Maintained by: PingCAP
- Authors: Xiang Zhang, Qiang Wu, Yuhang Shi
- GitHub repo: pingcap/dbt-tidb
- PyPI package:
dbt-tidb
- Slack channel: #db-tidb
- Supported dbt Core version: v1.0.0 and newer
- dbt Cloud support: Not Supported
- Minimum data platform version: n/a
Installing dbt-tidb
pip is the easiest way to install the adapter:
pip install dbt-tidb
Installing dbt-tidb
will also install dbt-core
and any other dependencies.
Configuring dbt-tidb
For TiDB-specifc configuration please refer to TiDB Configuration
For further info, refer to the GitHub repository: pingcap/dbt-tidb
Connecting to TiDB with dbt-tidb
User / Password Authentication
Configure your dbt profile for using TiDB:
TiDB connection profile
profiles.yml
dbt-tidb:
target: dev
outputs:
dev:
type: tidb
server: 127.0.0.1
port: 4000
schema: database_name
username: tidb_username
password: tidb_password
# optional
retries: 3 # default 1
Description of Profile Fields
Option | Description | Required? | Example |
---|---|---|---|
type | The specific adapter to use | Required | tidb |
server | The server (hostname) to connect to | Required | yourorg.tidb.com |
port | The port to use | Required | 4000 |
schema | Specify the schema (database) to build models into | Required | analytics |
username | The username to use to connect to the server | Required | dbt_admin |
password | The password to use for authenticating to the server | Required | awesome_password |
retries | The retry times after an unsuccessful connection | Optional | default 1 |
Database User Privileges
Your database user would be able to have some abilities to read or write, such as SELECT
, CREATE
, and so on.
You can find some help here with TiDB privileges management.
Required Privilege |
---|
SELECT |
CREATE |
CREATE TEMPORARY TABLE |
CREATE VIEW |
INSERT |
DROP |
SHOW DATABASE |
SHOW VIEW |
SUPER |
Supported features
TiDB 4.X | TiDB 5.0 ~ 5.2 | TiDB >= 5.3 | Feature |
---|---|---|---|
✅ | ✅ | ✅ | Table materialization |
✅ | ✅ | ✅ | View materialization |
❌ | ❌ | ✅ | Incremental materialization |
❌ | ✅ | ✅ | Ephemeral materialization |
✅ | ✅ | ✅ | Seeds |
✅ | ✅ | ✅ | Sources |
✅ | ✅ | ✅ | Custom data tests |
✅ | ✅ | ✅ | Docs generate |
❌ | ❌ | ✅ | Snapshots |
✅ | ✅ | ✅ | Grant |
✅ | ✅ | ✅ | Connection retry |
Note:
- TiDB 4.0 ~ 5.0 does not support CTE,
you should avoid using
WITH
in your SQL code. - TiDB 4.0 ~ 5.2 does not support creating a temporary table or view.
- TiDB 4.X does not support using SQL func in
CREATE VIEW
, avoid it in your SQL code. You can find more detail here.
0