Connect External Database
Contributor: fengkiej from Rupiah Token
Hummingbot stores trades in a local SQLite for database by default, but it may be limiting for some cases such as sharing data to external system, in some cases user may want to use their own preferred client/server RDBMS for it.
Other RDBMS are supported on Hummingbot through SQLAlchemy, it has included some widely used RDBMS dialects, i.e.:
- Microsoft SQL Server
These dialects requires separate DBAPI driver to be installed on Hummingbot's conda environment, see SQLAlchemy documentation for more information on appropriate DBAPI driver for each RDBMS. For example, to use PostgreSQL,
psycopg2 need to be installed. Run the following command to install it using conda:
conda install psycopg2
To configure RDBMS connection, we need to edit
conf_client.yml in the
In past versions of Hummingbot (1.5.0 and below), the
conf_client.yml file is named
- 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
|Configuration Parameter||Possible Values|
|db_host||any string e.g.
|db_port||any string e.g.
|db_username||any string e.g.
|db_password||any string e.g.
|db_name||any string e.g.
It is also possible to connect with available SQLAlchemy's external dialects (e.g. Amazon Redshift). But the feature is not currently supported in Hummingbot due to its various DSN format, use this at your own risk.
📘 Additional Resources¶
In this Youtube Video the Foundation's lead developer Fede, shows you how you can use
Docker Compose to launch multiple instances that all save to a single Postgres database.