AidboxDB

This topic explains the configuration and internals of aidboxdb image

Introduction

AidboxDB image is a custom build of open source PostgreSQL database. Aidbox uses it as data storage. The image can be pulled from HealthSamurai dockerhub.

docker run \
       -v "$(pwd)"/pgdata:/data/pg \
       -e POSTGRES_USER='postgres' \
       -e POSTGRES_PASSWORD='pass' \
       -e POSTGRES_DB='aidbox' \
       -e PGDATA="/data/pg" \
       healthsamurai/aidboxdb:15.2

The AidboxDB image use cases are:

  • To initialize and run a master database for Aidbox to work with

  • To initialize and run a streaming replica

  • Optimized FHIR search queries

  • Backup and maintenance extensions

Versioning

AidboxDB image is tagged by PostgreSQL version from which it is built. For example, if you want to use 14.5 PostgreSQL version you should pull healthsamurai/aidboxdb:14.5 image.

Supported PostgreSQL versions: 15.2, 14.7, 13.10

Available versions: 14.5, 14.2, 13.6, 13.2, 12.12, 12.6

Extensions

List of additional availiable extensions:

  • jsonknife — Jsonb extraction tool for optimizing FHIR search

  • pgagent — A PostgreSQL job scheduler

  • pg_repack — Reorganize tables in PostgreSQL databases with minimal locks

  • jsquery — JSON query language with GIN indexing support

  • wal2json — Is an output plugin for logical decoding

  • wal-g — Archival and Restoration for databases in the Cloud

Configuration

The image is configured by supplying environment variables and command line arguments on startup. Keep in mind that you should not change the environment variables once you have initialized the database. The image expects them to be immutable.

pageAidboxDB environment variables

Archiving

An open-source tool wal-g is used by AidboxDB for continuous archival, backups, and restoration.

pageArchiving

Last updated

Change request #2416: