signald
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Database

Database Usage

signald stores most of it’s data in a database. Note that it does not store all data in the database currently. Two databases options are available: sqlite and postgresql.

sqlite

The default database, does not require any special setup. Data will be stored at ~/.config/signald/signald.db by default.

Postgres

To use a postgres database, pass the postgresql: URL to signald the command line flag --database or environment variable SIGNALD_DATABASE. For example:

SIGNALD_DATABASE=postgresql://postgres:password@my.database.host:5432/signald

For more details on available connect options, see the PostgreSQL JDBC connect documentation.

Moving from sqlite to Postgres

Before moving from sqlite to postgres, you must have the latest migration applied to your sqlite database.

To move the data, run signaldctl move-db. After the data is moved, the old sqlite file will be removed.

The docker container will run this automatically if SIGNALD_DATABASE is set to a postgresql URL and a sqlite file is found.