连接外部数据库
社区贡献
贡献者: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 安装:
要配置 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 数据库。