mirror of
https://github.com/apache/superset.git
synced 2026-05-08 09:25:56 +00:00
The previous import-path fixer only matched two-level relative paths (`../../src/` and `../../data/`), missing files at deeper nesting in the section tree. After the 6.1.0 cut for developer_docs, ~50 component MDX files at depth 3 still referenced `../../../src/components/StorybookWrapper` (should have been `../../../../src/...`), and the components Button page referenced `../../../superset-frontend/...` (should have been `../../../../superset-frontend/...`). The Docusaurus production build failed with module-not-found errors as a result. Replace the pattern-specific regex with a depth-aware walker that - counts the file's nesting depth within the snapshot, - bumps any relative import whose `../` count exceeds that depth (i.e. the import escapes the section root and so must compensate for the extra `version-X.X.X/` directory the snapshot lives under), - skips fenced code blocks so documented sample imports (e.g. Playwright page-object examples in developer_docs/testing/e2e-testing.md) are not rewritten. Re-cut all four sections under the new fixer. yarn build now passes locally.
105 lines
3.7 KiB
Plaintext
105 lines
3.7 KiB
Plaintext
---
|
|
title: Connecting to Databases
|
|
sidebar_label: Overview
|
|
sidebar_position: 1
|
|
---
|
|
|
|
{/*
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
*/}
|
|
|
|
import { DatabaseIndex } from '@site/src/components/databases';
|
|
import databaseData from '@site/src/data/databases.json';
|
|
|
|
# Connecting to Databases
|
|
|
|
Superset does not ship bundled with connectivity to databases. The main step in connecting
|
|
Superset to a database is to **install the proper database driver(s)** in your environment.
|
|
|
|
:::note
|
|
You'll need to install the required packages for the database you want to use as your metadata database
|
|
as well as the packages needed to connect to the databases you want to access through Superset.
|
|
For information about setting up Superset's metadata database, please refer to
|
|
installation documentations ([Docker Compose](/admin-docs/installation/docker-compose), [Kubernetes](/admin-docs/installation/kubernetes))
|
|
:::
|
|
|
|
## Supported Databases
|
|
|
|
Superset supports **73 databases** with varying levels of feature support.
|
|
Click on any database name to see detailed documentation including connection strings,
|
|
authentication methods, and configuration options.
|
|
|
|
<DatabaseIndex data={databaseData} />
|
|
|
|
## Installing Database Drivers
|
|
|
|
Superset requires a Python [DB-API database driver](https://peps.python.org/pep-0249/)
|
|
and a [SQLAlchemy dialect](https://docs.sqlalchemy.org/en/20/dialects/) to be installed for
|
|
each database engine you want to connect to.
|
|
|
|
### Installing Drivers in Docker
|
|
|
|
For Docker deployments, create a `requirements-local.txt` file in the `docker` directory:
|
|
|
|
```bash
|
|
# Create the requirements file
|
|
touch ./docker/requirements-local.txt
|
|
|
|
# Add your driver (e.g., for PostgreSQL)
|
|
echo "psycopg2-binary" >> ./docker/requirements-local.txt
|
|
```
|
|
|
|
Then restart your containers. The drivers will be installed automatically.
|
|
|
|
### Installing Drivers with pip
|
|
|
|
For non-Docker installations:
|
|
|
|
```bash
|
|
pip install <driver-package>
|
|
```
|
|
|
|
See individual database pages for the specific driver packages needed.
|
|
|
|
## Connecting Through the UI
|
|
|
|
1. Go to **Settings → Data: Database Connections**
|
|
2. Click **+ DATABASE**
|
|
3. Select your database type or enter a SQLAlchemy URI
|
|
4. Click **Test Connection** to verify
|
|
5. Click **Connect** to save
|
|
|
|
## Contributing
|
|
|
|
To add or update database documentation, add a `metadata` attribute to your engine spec class in
|
|
`superset/db_engine_specs/`. Documentation is auto-generated from these metadata attributes.
|
|
|
|
See [METADATA_STATUS.md](https://github.com/apache/superset/blob/master/superset/db_engine_specs/METADATA_STATUS.md)
|
|
for the current status of database documentation and the [README](https://github.com/apache/superset/blob/master/superset/db_engine_specs/README.md) for the metadata schema.
|
|
|
|
:::info Developer Note
|
|
This documentation was built without Flask context, so feature diagnostics (scores, time grain support, etc.)
|
|
may not reflect actual database capabilities. For full diagnostics, build docs locally with:
|
|
|
|
```bash
|
|
cd docs && npm run gen-db-docs
|
|
```
|
|
|
|
This requires a working Superset development environment.
|
|
:::
|