Data source: pg_basebackup

You need to set up machine for Database Lab instance first. Check the Setup machine for the Database Lab Engine guide for the details.

Configuration

Jobs

In order to set up Database Lab Engine to automatically get the data from database using pg_basebackup you need to use following jobs:

Options

Copy the contents of configuration example config.example.physical_generic.yml from the Database Lab repository to ~/.dblab/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:
    • PGUSER: database user name;
    • PGPASSWORD: database master password;
    • PGHOST: database server host;
  • Set PostgreSQL commands in physicalRestore:options:customTool:
    • command: pg_basebackup -X stream -D /var/lib/dblab/data;
    • restore_command: TBD;
  • Set a proper version in Postgres Docker images tags (change the images itself only if you know what are you doing):
    • provision:options:dockerImage;
    • retrieval:spec:physicalRestore:options:dockerImage;
    • retrieval:spec:physicalSnapshot:options:promotion: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/server.yml:/home/dblab/configs/config.yml \
--env DOCKER_API_VERSION=1.39 \
--detach \
--restart on-failure \
postgresai/dblab-server:2.0.0-beta.3

Restart in the case of failure

TBD