Skip to main content

Data source: WAL-G

info

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.

Configuration

Jobs

In order to set up Database Lab Engine to automatically get the data from database using WAL-G archival restoration tool you need to use following jobs:

Options

Copy the example configuration file config.example.physical_walg.yml from the Database Lab repository to ~/.dblab/engine/configs/server.yml 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:
  • Set WAL-G settings in physicalRestore:options:walg:
    • backupName - defines the backup name to restore
  • 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

tip

Use Docker volumes to make credential files available to WAL-G.

For example: --volume ~/.dblab/credentials.json:/home/dblab/credentials.json or store them into a config directory.

Note that credentials location inside the container matches the right part of the mount expression

sudo docker run \
--name dblab_server \
--label dblab_control \
--privileged \
--publish 127.0.0.1:2345:2345 \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume /var/lib/dblab:/var/lib/dblab/:rshared \
--volume ~/.dblab/engine:/home/dblab \
--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:3.2.0
info

Parameter --publish 127.0.0.1:2345:2345 means that only local connections will be allowed.

To allow external connections, consider either using additional software such as NGINX or Envoy or changing this parameter. Removing the host/IP part (--publish 2345:2345) allows listening to all available network interfaces. See more details in the official Docker command-line reference.

Restart in the case of failure

TBD
note

This page is unfinished. Reach out to the Postgres.ai team to learn more.