跳至内容

连接外部数据库

社区贡献

贡献者:fengkiej 来自 Rupiah Token

Hummingbot 默认将交易数据存储在本地 SQLite 数据库中,但在某些情况下这可能受限,例如需要与外部系统共享数据时,用户可能希望使用自己偏好的客户端/服务器型关系型数据库管理系统(RDBMS)。

Hummingbot 通过 SQLAlchemy 支持其他 RDBMS,其内置了若干常用 RDBMS 方言,例如:

  • PostgreSQL
  • MySQL
  • Oracle
  • Microsoft SQL Server

这些方言需要在 Hummingbot 的 conda 环境中单独安装对应的 DBAPI 驱动程序,有关每种 RDBMS 所需的合适 DBAPI 驱动程序,请参阅 SQLAlchemy 文档。例如,要使用 PostgreSQL,需安装 psycopg2。请运行以下命令通过 conda 安装:

conda install psycopg2

要配置 RDBMS 连接,需编辑 /hummingbot_conf 目录下的 conf_client.yml 文件。

注意

在 Hummingbot 的早期版本(1.5.0 及以下)中,该文件名为 conf_global.yml

- Advanced database options, currently supports SQLAlchemy's included dialects
- Reference: https://docs.sqlalchemy.org/en/13/dialects/

db_engine: sqlite
db_host: 127.0.0.1
db_port: '3306'
db_username: username
db_password: password
db_name: dbname

配置参数

配置参数 可能的值
db_engine sqlitepostgresqlmysqloraclemssql
db_host 任意字符串,例如 127.0.0.1
db_port 任意字符串,例如 3306
db_username 任意字符串,例如 username
db_password 任意字符串,例如 password
db_name 任意字符串,例如 dbname

SQLAlchemy 方言

也可以连接 SQLAlchemy 支持的其他外部方言(例如 Amazon Redshift)。但由于其 DSN 格式多样,该功能目前在 Hummingbot 中不受支持,请自行承担使用风险

📘 额外资源

在该 YouTube 视频 中,基金会首席开发者 Fede 演示了如何使用 Docker Compose 启动多个实例,使它们全部将数据保存到同一个 PostgreSQL 数据库中。