Databases
Quorum supports PostgreSQL 14+ and Microsoft SQL Server 2019+. Set database.driver in your config:
# PostgreSQLdatabase: driver: "postgres" host: "localhost" port: 5432 params: sslmode: "disable"
# SQL Serverdatabase: driver: "mssql" host: "localhost" port: 1433 params: encrypt: "disable" TrustServerCertificate: "true"Schema isolation
Section titled “Schema isolation”Quorum creates all its tables in a dedicated quorum schema, including its migration history, so it can safely share a database with your application without table name conflicts.
On PostgreSQL the schema must exist before the migrations run:
psql "$DATABASE_URL" -c "CREATE SCHEMA IF NOT EXISTS quorum;"The repository’s Compose setup and make migrate-up do this for you. On SQL Server the first migration creates the schema itself.
Migrations
Section titled “Migrations”Migrations are in migrations/postgres/ and migrations/mssql/ and use golang-migrate. Run them with the CLI as in the quick start, or let the server apply them on start with -auto-migrate -migrations <dir>, which is what the Docker images do.
Durability guarantees
Section titled “Durability guarantees”Status changes, audit entries and webhook outbox rows are written in one transaction. Whichever database you choose, a request can never be approved without its audit entry, and a webhook can never be lost between the state change and the delivery worker.
Quorum is built by Olawale Lawal.