跳转至内容

连接外部数据库

社区贡献

贡献者: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_client.yml 文件名为 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 sqlite,postgresql,mysql,oracle,mssql
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 数据库。