Superset中名为main的数据库用途是什么?能否安全删除?
关于Superset自动生成的
main数据源的说明 这个main数据库的作用
这个自动创建的main数据源,是Superset初始化时默认生成的、指向Superset自身元数据库的连接配置,核心用途有两个:
- 供SQL Lab、数据集模块调用,方便管理员直接查询Superset存储在元库里的用户、权限、查询历史、看板配置等元数据
- 支撑Superset自带的系统类内置看板(比如平台访问统计、查询耗时统计、资源使用统计这类官方预置的运营看板)取数,部分版本的告警规则校验、报表任务元数据检查也会复用这个连接
为什么连接配置错误不影响服务正常运行
Superset服务本身连接元数据库的配置,是写在部署目录下的superset_config.py文件的SQLALCHEMY_DATABASE_URI参数里的,这套配置是服务启动、运行的基础依赖,和数据源列表里存储的main连接配置是完全独立的两套逻辑:
- 数据源列表里的所有连接信息(包括这个
main),本身就是存在元数据库的dbs表中,只给Superset上层的业务功能(图表、SQL查询、数据集)取数用 - 只要配置文件里的元库连接参数正确,哪怕数据源列表里的
main配置密码错了、甚至被删掉,都不会影响Superset服务的基础运行、用户自建的数据源连接和已有的业务看板使用
是否可以安全删除
满足以下前提就可以安全删除,不会影响核心业务功能:
- 你没有基于这个
main数据源自建过数据集、图表、看板,也没有在SQL Lab里依赖这个连接做日常元数据查询 - 你不需要使用Superset官方预置的平台运营统计类内置看板
如果删除之后需要恢复,手动在数据源列表新建连接,连接信息和superset_config.py里的SQLALCHEMY_DATABASE_URI保持一致即可。
注意:删除前建议先在数据源的「关联对象」页面检查是否有自建内容绑定了该连接,如果有先解绑或迁移对应内容,避免相关页面报错。
内容的提问来源于stack exchange,提问作者supernova
相关产品推荐
相关产品推荐

