Skip to main content

Data source: Custom


As the first step, you need to set up a machine for Database Lab Engine instance. See the guide Set up a machine for the Database Lab Engine.


With this data source type you can use any PostgreSQL backup tool (e.g. pg_basebackup, Barman, pgBackRest) to transfer the data to the Database Lab Engine instance.


To set up it you need to use following jobs:


Copy the example configuration file config.example.physical_generic.yml from the Database Lab repository to ~/.dblab/engine/configs/server.yml. For demo purposes we've used pg_basebackup tool, but you can use any tool suitable for the task. Check and update the following options:

  • Set secure server:verificationToken, it will be used to authorize API requests to the Engine
  • Set connection options in physicalRestore:options:envs, based on your tool
  • Set PostgreSQL commands in physicalRestore:options:customTool:
    • command: defines the command to restore data using a custom tool
    • restore_command: defines the PostgreSQL restore_command configuration option to refresh data
  • Set a proper version in Postgres Docker image tag (change the images itself only if you know what are you doing):
    • databaseContainer:dockerImage

Run Database Lab Engine#

sudo docker run \  --name dblab_server \  --label dblab_control \  --privileged \  --publish 2345:2345 \  --volume /var/run/docker.sock:/var/run/docker.sock \  --volume /var/lib/dblab:/var/lib/dblab/:rshared \  --volume ~/.dblab/engine/configs:/home/dblab/configs:ro \  --volume ~/.dblab/engine/meta:/home/dblab/meta \  --volume /sys/kernel/debug:/sys/kernel/debug:rw \  --volume /lib/modules:/lib/modules:ro \  --volume /proc:/host_proc:ro \  --env DOCKER_API_VERSION=1.39 \  --detach \  --restart on-failure \  postgresai/dblab-server:2.5.0

Restart in the case of failure#