{
   "default" : {
      "all" : {
         "contributing" : [
            {
               "key" : {
                  "id" : "contrib",
                  "image" : "pgbackrest/doc:contrib",
                  "name" : "pgbackrest-dev",
                  "option" : "-v /var/run/docker.sock:/var/run/docker.sock -v /home/vagrant/test:/home/vagrant/test",
                  "os" : "u20",
                  "update-hosts" : true
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.10"
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo apt-get update"
                  ],
                  "host" : "pgbackrest-dev",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo apt-get install rsync git devscripts build-essential valgrind lcov autoconf \\",
                     "    autoconf-archive libssl-dev zlib1g-dev libxml2-dev libpq-dev pkg-config \\",
                     "    libxml-checker-perl libyaml-perl libdbd-pg-perl liblz4-dev liblz4-tool \\",
                     "    zstd libzstd-dev bzip2 libbz2-dev libyaml-dev ccache meson"
                  ],
                  "cmd-extra" : "-y 2>&1",
                  "host" : "pgbackrest-dev",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "pgbackrest/test/test.pl --clean-only"
                  ],
                  "host" : "pgbackrest-dev",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "curl -fsSL https://get.docker.com | sudo sh"
                  ],
                  "cmd-extra" : "2>&1",
                  "host" : "pgbackrest-dev",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo usermod -aG docker `whoami`"
                  ],
                  "host" : "pgbackrest-dev",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 666 /var/run/docker.sock"
                  ],
                  "host" : "pgbackrest-dev",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "pgbackrest/test/test.pl --dry-run"
                  ],
                  "cmd-extra" : "--no-log-timestamp",
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "[0-9]+ tests selected|DRY RUN COMPLETED SUCCESSFULLY"
                     ]
                  },
                  "host" : "pgbackrest-dev",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: test begin on x86_64 - log level info",
                     "P00   INFO: clean autogenerate code",
                     "P00   INFO: builds required: bin",
                     "P00   INFO: 81 tests selected",
                     "            ",
                     "P00   INFO: P1-T01/81 - vm=none, module=common, test=error",
                     "       [filtered 78 lines of output]",
                     "P00   INFO: P1-T80/81 - vm=none, module=performance, test=type",
                     "P00   INFO: P1-T81/81 - vm=none, module=performance, test=storage",
                     "P00   INFO: DRY RUN COMPLETED SUCCESSFULLY"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "pgbackrest/test/test.pl --vm-out --module=common --test=wait"
                  ],
                  "cmd-extra" : "--no-log-timestamp",
                  "host" : "pgbackrest-dev",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: test begin on x86_64 - log level info",
                     "P00   INFO: cleanup old data",
                     "P00   INFO: autogenerate configure",
                     "P00   INFO:     autogenerated version in configure.ac script: no changes",
                     "P00   INFO:     autogenerated configure script: no changes",
                     "P00   INFO: autogenerate code",
                     "P00   INFO: builds required: none",
                     "P00   INFO: 1 test selected",
                     "            ",
                     "P00   INFO: P1-T1/1 - vm=none, module=common, test=wait",
                     "            ",
                     "    P00   INFO: test command begin 2.49: [common/wait] --log-level=info --no-log-timestamp --repo-path=/home/vagrant/test/repo --test-path=/home/vagrant/test --vm=none --vm-id=0",
                     "    P00   INFO: test command end: completed successfully",
                     "    run 1 - waitNew(), waitMore, and waitFree()",
                     "                  L0018     expect AssertError: assertion 'waitTime <= 999999000' failed",
                     "    ",
                     "    run 1/1 ----- L0021 0ms wait",
                     "                  L0025     new wait",
                     "                  L0026         check wait time",
                     "                  L0027         check sleep time",
                     "                  L0028         check sleep prev time",
                     "                  L0029         no wait more",
                     "    ",
                     "    run 1/2 ----- L0032 100ms with retries after time expired",
                     "                  L0034     new wait",
                     "                  L0037         time expired, first retry",
                     "                  L0038         time expired, second retry",
                     "                  L0039         time expired, retries expired",
                     "    ",
                     "    run 1/3 ----- L0042 200ms wait",
                     "                  L0046     new wait = 0.2 sec",
                     "                  L0047         check wait time",
                     "                  L0048         check sleep time",
                     "                  L0049         check sleep prev time",
                     "                  L0050         check begin time",
                     "                  L0052         first retry",
                     "                  L0053         check retry",
                     "                  L0055         second retry",
                     "                  L0056         check retry",
                     "                  L0058         still going because of time",
                     "                  L0064         lower range check",
                     "                  L0065         upper range check",
                     "                  L0067         free wait",
                     "    ",
                     "    run 1/4 ----- L0070 1100ms wait",
                     "                  L0074     new wait = 1.1 sec",
                     "                  L0075         check wait time",
                     "                  L0076         check sleep time",
                     "                  L0077         check sleep prev time",
                     "                  L0078         check begin time",
                     "                  L0084         lower range check",
                     "                  L0085         upper range check",
                     "                  L0087         free wait",
                     "    ",
                     "    TESTS COMPLETED SUCCESSFULLY",
                     "",
                     "P00   INFO: P1-T1/1 - vm=none, module=common, test=wait",
                     "P00   INFO: tested modules have full coverage",
                     "P00   INFO: writing C coverage report",
                     "P00   INFO: TESTS COMPLETED SUCCESSFULLY"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "pgbackrest/test/test.pl --module=postgres"
                  ],
                  "cmd-extra" : "--no-log-timestamp",
                  "host" : "pgbackrest-dev",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: test begin on x86_64 - log level info",
                     "P00   INFO: cleanup old data",
                     "P00   INFO: autogenerate configure",
                     "P00   INFO:     autogenerated version in configure.ac script: no changes",
                     "P00   INFO:     autogenerated configure script: no changes",
                     "P00   INFO: autogenerate code",
                     "P00   INFO: builds required: none",
                     "P00   INFO: 2 tests selected",
                     "            ",
                     "P00   INFO: P1-T1/2 - vm=none, module=postgres, test=client",
                     "P00   INFO: P1-T2/2 - vm=none, module=postgres, test=interface",
                     "P00   INFO: tested modules have full coverage",
                     "P00   INFO: writing C coverage report",
                     "P00   INFO: TESTS COMPLETED SUCCESSFULLY"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "pgbackrest/test/test.pl --vm-build --vm=u20"
                  ],
                  "cmd-extra" : "--no-log-timestamp",
                  "host" : "pgbackrest-dev",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: test begin on x86_64 - log level info",
                     "P00   INFO: Using cached pgbackrest/test:u20-base-20231109A image (51041e6806d2d05ccefbd8a2ab23f2c9e42a7997) ...",
                     "P00   INFO: Building pgbackrest/test:u20-test image ...",
                     "P00   INFO: Build Complete"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "pgbackrest/test/test.pl --vm=u20 --module=mock --test=archive --run=2"
                  ],
                  "cmd-extra" : "--no-log-timestamp",
                  "host" : "pgbackrest-dev",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: test begin on x86_64 - log level info",
                     "P00   INFO: cleanup old data and containers",
                     "P00   INFO: autogenerate configure",
                     "P00   INFO:     autogenerated version in configure.ac script: no changes",
                     "P00   INFO:     autogenerated configure script: no changes",
                     "P00   INFO: clean autogenerate code",
                     "P00   INFO: builds required: bin, bin host",
                     "P00   INFO:     bin build for u20 (/home/vagrant/test/bin/u20)",
                     "P00   INFO:         bin dependencies have changed, rebuilding",
                     "P00   INFO:     bin build for none (/home/vagrant/test/build/none)",
                     "P00   INFO: 1 test selected",
                     "            ",
                     "P00   INFO: P1-T1/1 - vm=u20, module=mock, test=archive, run=2",
                     "P00   INFO: no code modules had all tests run required for coverage",
                     "P00   INFO: TESTS COMPLETED SUCCESSFULLY"
                  ]
               }
            }
         ],
         "user-guide" : [
            {
               "key" : {
                  "id" : "azure",
                  "image" : "mcr.microsoft.com/azure-storage/azurite",
                  "name" : "azure-server",
                  "option" : "-v {[host-repo-path]}/doc/resource/fake-cert/azure-server.crt:/root/public.crt:ro -v {[host-repo-path]}/doc/resource/fake-cert/azure-server.key:/root/private.key:ro -e AZURITE_ACCOUNTS='pgbackrest:YXpLZXk='",
                  "os" : "debian",
                  "param" : "azurite-blob --blobPort 443 --blobHost 0.0.0.0 --cert=/root/public.crt --key=/root/private.key",
                  "update-hosts" : false
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.2"
               }
            },
            {
               "key" : {
                  "id" : "s3",
                  "image" : "minio/minio:RELEASE.2023-09-30T07-02-29Z",
                  "name" : "s3-server",
                  "option" : "-v {[host-repo-path]}/doc/resource/fake-cert/s3-server.crt:/root/.minio/certs/public.crt:ro -v {[host-repo-path]}/doc/resource/fake-cert/s3-server.key:/root/.minio/certs/private.key:ro -e MINIO_REGION=us-east-1 -e MINIO_DOMAIN=s3.us-east-1.amazonaws.com -e MINIO_BROWSER=off -e MINIO_ACCESS_KEY=accessKey1 -e MINIO_SECRET_KEY=verySecretKey1",
                  "os" : "debian",
                  "param" : "server /data --address :443",
                  "update-hosts" : false
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.3"
               }
            },
            {
               "key" : {
                  "id" : "sftp",
                  "image" : "pgbackrest/doc:debian",
                  "name" : "sftp-server",
                  "option" : "-m 512m -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
                  "os" : "debian",
                  "update-hosts" : true
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.4"
               }
            },
            {
               "key" : {
                  "id" : "build",
                  "image" : "pgbackrest/doc:debian",
                  "name" : "build",
                  "option" : "-v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
                  "os" : "debian",
                  "update-hosts" : true
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.5"
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /build/pgbackrest-release-2.49"
                  ],
                  "host" : "build",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo cp -r /pgbackrest/src /build/pgbackrest-release-2.49"
                  ],
                  "host" : "build",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown -R vagrant /build/pgbackrest-release-2.49"
                  ],
                  "host" : "build",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo apt-get update"
                  ],
                  "host" : "build",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo apt-get install make gcc libpq-dev libssl-dev libxml2-dev pkg-config \\",
                     "    liblz4-dev libzstd-dev libbz2-dev libz-dev libyaml-dev libssh2-1-dev"
                  ],
                  "cmd-extra" : "-y 2>&1",
                  "host" : "build",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "cd /build/pgbackrest-release-2.49/src && ./configure && make"
                  ],
                  "cmd-extra" : "-j 4",
                  "host" : "build",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "id" : "pg1",
                  "image" : "pgbackrest/doc:debian",
                  "name" : "pg-primary",
                  "option" : "-m 512m -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
                  "os" : "debian",
                  "update-hosts" : true
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.6"
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo apt-get install postgresql-client libxml2 libssh2-1"
                  ],
                  "cmd-extra" : "-y 2>&1",
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo scp build:/build/pgbackrest-release-2.49/src/pgbackrest /usr/bin"
                  ],
                  "cmd-extra" : "2>&1",
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 755 /usr/bin/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p -m 770 /var/log/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /var/log/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest/conf.d"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo touch /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 640 /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "pgBackRest 2.49 - General help",
                     "",
                     "Usage:",
                     "    pgbackrest [options] [command]",
                     "",
                     "Commands:",
                     "    annotate        Add or modify backup annotation.",
                     "    archive-get     Get a WAL segment from the archive.",
                     "    archive-push    Push a WAL segment to the archive.",
                     "    backup          Backup a database cluster.",
                     "    check           Check the configuration.",
                     "    expire          Expire backups that exceed retention.",
                     "    help            Get help.",
                     "    info            Retrieve information about backups.",
                     "    repo-get        Get a file from a repository.",
                     "    repo-ls         List files in a repository.",
                     "    restore         Restore a database cluster.",
                     "    server          pgBackRest server.",
                     "    server-ping     Ping pgBackRest server.",
                     "    stanza-create   Create the required stanza data.",
                     "    stanza-delete   Delete a stanza.",
                     "    stanza-upgrade  Upgrade a stanza.",
                     "    start           Allow pgBackRest processes to run.",
                     "    stop            Stop pgBackRest processes from running.",
                     "    verify          Verify contents of the repository.",
                     "    version         Get version.",
                     "",
                     "Use 'pgbackrest help [command]' for more information."
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres /usr/lib/postgresql/15/bin/initdb \\",
                     "    -D /var/lib/postgresql/15/demo -k -A peer"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_createcluster 15 demo"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "Configuring already existing cluster (configuration: /etc/postgresql/15/demo, data: /var/lib/postgresql/15/demo, owner: 102:103)",
                     "Ver Cluster Port Status Owner    Data directory              Log file",
                     "15  demo    5432 down   postgres /var/lib/postgresql/15/demo /var/log/postgresql/postgresql-15-demo.log"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "cat /root/postgresql.common.conf >> /etc/postgresql/15/demo/postgresql.conf"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "demo" : {
                        "pg1-path" : {
                           "value" : "/var/lib/postgresql/15/demo"
                        }
                     },
                     "global" : {
                        "log-level-stderr" : {
                           "value" : "off"
                        },
                        "log-timestamp" : {
                           "value" : "n"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres bash -c ' \\",
                     "    export PGBACKREST_LOG_PATH=/path/set/by/env && \\",
                     "    pgbackrest --log-level-console=error help backup log-path'"
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "current\\: \\/path\\/set\\/by\\/env"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "pgBackRest 2.49 - 'backup' command - 'log-path' option help",
                     "",
                     "Path where log files are stored.",
                     "",
                     "The log path provides a location for pgBackRest to store log files. Note that",
                     "if log-level-file=off then no log path is required.",
                     "",
                     "current: /path/set/by/env",
                     "default: /var/log/pgbackrest"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /var/lib/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 750 /var/lib/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /var/lib/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-path" : {
                           "value" : "/var/lib/pgbackrest"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "repo1-path=/var/lib/pgbackrest"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/postgresql/15/demo/postgresql.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "archive_command" : {
                        "value" : "'pgbackrest --stanza=demo archive-push %p'"
                     },
                     "archive_mode" : {
                        "value" : "on"
                     },
                     "max_wal_senders" : {
                        "value" : "3"
                     },
                     "wal_level" : {
                        "value" : "replica"
                     }
                  }
               },
               "type" : "cfg-postgresql",
               "value" : {
                  "config" : [
                     "archive_command = 'pgbackrest --stanza=demo archive-push %p'",
                     "archive_mode = on",
                     "max_wal_senders = 3",
                     "wal_level = replica"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo restart"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    create or replace function create_test_table(prefix int, scale int, data bool) returns void as \\$\\$ \\",
                     "    declare \\",
                     "    index int; \\",
                     "    begin \\",
                     "    for index in 1 .. scale loop \\",
                     "    execute 'create table test_' || prefix || '_' || index || ' (id int)'; \\",
                     "     \\",
                     "    if data then \\",
                     "    execute 'insert into test_' || prefix || '_' || index || ' values (' || (prefix * index) || ')'; \\",
                     "    end if; \\",
                     "    end loop; \\",
                     "    end \\$\\$ LANGUAGE plpgsql;\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global:archive-push" : {
                        "compress-level" : {
                           "value" : "3"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "repo1-path=/var/lib/pgbackrest",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-retention-full" : {
                           "value" : "2"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-cipher-pass" : {
                           "value" : "zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO"
                        },
                        "repo1-cipher-type" : {
                           "value" : "aes-256-cbc"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-create"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: stanza-create command begin 2.49: --exec-id=434-5b62a31e --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
                     "P00   INFO: stanza-create for stanza 'demo' on repo1",
                     "P00   INFO: stanza-create command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info check"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        " successfully archived to "
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: check command begin 2.49: --exec-id=443-37d332a1 --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
                     "P00   INFO: check repo1 configuration (primary)",
                     "P00   INFO: check repo1 archive for WAL (primary)",
                     "P00   INFO: WAL segment 000000010000000000000001 successfully archived to '/var/lib/pgbackrest/archive/demo/15-1/0000000100000000/000000010000000000000001-025db7b566f62898bbff4c0d9da08158c12a4581.gz' on repo1",
                     "P00   INFO: check command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "start-fast" : {
                           "value" : "y"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "no prior backup exists|full backup size"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: backup command begin 2.49: --exec-id=473-52b25b55 --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --start-fast",
                     "P00   WARN: no prior backup exists, incr backup has been changed to full",
                     "P00   INFO: execute non-exclusive backup start: backup begins after the requested immediate checkpoint completes",
                     "P00   INFO: backup start archive = 000000010000000000000002, lsn = 0/2000028",
                     "       [filtered 3 lines of output]",
                     "P00   INFO: check archive for segment(s) 000000010000000000000002:000000010000000000000003",
                     "P00   INFO: new backup label = 20231127-110608F",
                     "P00   INFO: full backup size = 21.8MB, file total = 961",
                     "P00   INFO: backup command end: completed successfully",
                     "P00   INFO: expire command begin 2.49: --exec-id=473-52b25b55 --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-110608F"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=diff \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "diff backup size"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 7 lines of output]",
                     "P00   INFO: check archive for segment(s) 000000010000000000000004:000000010000000000000005",
                     "P00   INFO: new backup label = 20231127-110608F_20231127-110612D",
                     "P00   INFO: diff backup size = 8.3KB, file total = 961",
                     "P00   INFO: backup command end: completed successfully",
                     "P00   INFO: expire command begin 2.49: --exec-id=499-e1608fd1 --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest info"
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "(full|incr|diff) backup"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "stanza: demo",
                     "    status: ok",
                     "    cipher: aes-256-cbc",
                     "",
                     "    db (current)",
                     "        wal archive min/max (15): 000000010000000000000001/000000010000000000000005",
                     "",
                     "        full backup: 20231127-110608F",
                     "            timestamp start/stop: 2023-11-27 11:06:08+00 / 2023-11-27 11:06:11+00",
                     "            wal start/stop: 000000010000000000000002 / 000000010000000000000003",
                     "            database size: 21.8MB, database backup size: 21.8MB",
                     "            repo1: backup set size: 2.9MB, backup size: 2.9MB",
                     "",
                     "        diff backup: 20231127-110608F_20231127-110612D",
                     "            timestamp start/stop: 2023-11-27 11:06:12+00 / 2023-11-27 11:06:14+00",
                     "            wal start/stop: 000000010000000000000004 / 000000010000000000000005",
                     "            database size: 21.8MB, database backup size: 8.3KB",
                     "            repo1: backup set size: 2.9MB, backup size: 496B",
                     "            backup reference list: 20231127-110608F"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo stop"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres rm /var/lib/postgresql/15/demo/global/pg_control"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo start"
                  ],
                  "err-expect" : "1",
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "could not find the database system"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "Error: /usr/lib/postgresql/15/bin/pg_ctl /usr/lib/postgresql/15/bin/pg_ctl start -D /var/lib/postgresql/15/demo -l /var/log/postgresql/postgresql-15-demo.log -s -o  -c config_file=\"/etc/postgresql/15/demo/postgresql.conf\"  exited with status 1: ",
                     "postgres: could not find the database system",
                     "Expected to find it in the directory \"/var/lib/postgresql/15/demo\",",
                     "but could not open file \"/var/lib/postgresql/15/demo/global/pg_control\": No such file or directory",
                     "Examine the log output."
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres find /var/lib/postgresql/15/demo -mindepth 1 -delete"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo restore"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo start"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres mkdir -p /var/lib/postgresql/pgbackrest/doc/example"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cp -r /pgbackrest/doc/example/* \\",
                     "    /var/lib/postgresql/pgbackrest/doc/example"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat \\",
                     "    /var/lib/postgresql/pgbackrest/doc/example/pgsql-pgbackrest-info.sql"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "-- An example of monitoring pgBackRest from within PostgreSQL",
                     "--",
                     "-- Use copy to export data from the pgBackRest info command into the jsonb",
                     "-- type so it can be queried directly by PostgreSQL.",
                     "",
                     "-- Create monitor schema",
                     "create schema monitor;",
                     "",
                     "-- Get pgBackRest info in JSON format",
                     "create function monitor.pgbackrest_info()",
                     "    returns jsonb AS $$",
                     "declare",
                     "    data jsonb;",
                     "begin",
                     "    -- Create a temp table to hold the JSON data",
                     "    create temp table temp_pgbackrest_data (data text);",
                     "",
                     "    -- Copy data into the table directly from the pgBackRest info command",
                     "    copy temp_pgbackrest_data (data)",
                     "        from program",
                     "            'pgbackrest --output=json info' (format text);",
                     "",
                     "    select replace(temp_pgbackrest_data.data, E'\\n', '\\n')::jsonb",
                     "      into data",
                     "      from temp_pgbackrest_data;",
                     "",
                     "    drop table temp_pgbackrest_data;",
                     "",
                     "    return data;",
                     "end $$ language plpgsql;"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -f \\",
                     "    /var/lib/postgresql/pgbackrest/doc/example/pgsql-pgbackrest-info.sql"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat \\",
                     "    /var/lib/postgresql/pgbackrest/doc/example/pgsql-pgbackrest-query.sql"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "-- Get last successful backup for each stanza",
                     "--",
                     "-- Requires the monitor.pgbackrest_info function.",
                     "with stanza as",
                     "(",
                     "    select data->'name' as name,",
                     "           data->'backup'->(",
                     "               jsonb_array_length(data->'backup') - 1) as last_backup,",
                     "           data->'archive'->(",
                     "               jsonb_array_length(data->'archive') - 1) as current_archive",
                     "      from jsonb_array_elements(monitor.pgbackrest_info()) as data",
                     ")",
                     "select name,",
                     "       to_timestamp(",
                     "           (last_backup->'timestamp'->>'stop')::numeric) as last_successful_backup,",
                     "       current_archive->>'max' as last_archived_wal",
                     "  from stanza;"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -f \\",
                     "    /var/lib/postgresql/pgbackrest/doc/example/pgsql-pgbackrest-query.sql"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "  name  | last_successful_backup |    last_archived_wal     ",
                     "--------+------------------------+--------------------------",
                     " \"demo\" | 2023-11-27 11:06:14+00 | 000000010000000000000005",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo apt-get install jq"
                  ],
                  "cmd-extra" : "-y 2>&1",
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --output=json --stanza=demo info | \\",
                     "    jq '.[0] | .backup[-1] | .timestamp.stop'"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "1701083174"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --output=json --stanza=demo info | \\",
                     "    jq '.[0] | .archive[-1] | .max'"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "\"000000010000000000000005\""
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-bundle" : {
                           "value" : "y"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=full backup"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres find /var/lib/pgbackrest/backup/demo/latest/ -type f | wc -l"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "5"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-block" : {
                           "value" : "y"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --annotation=source=\"demo backup\" \\",
                     "    --annotation=key=value --type=full backup"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-110636F"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --set=20231127-110636F info"
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "annotation"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "stanza: demo",
                     "    status: ok",
                     "    cipher: aes-256-cbc",
                     "",
                     "    db (current)",
                     "        wal archive min/max (15): 000000020000000000000007/000000020000000000000009",
                     "",
                     "        full backup: 20231127-110636F",
                     "            timestamp start/stop: 2023-11-27 11:06:36+00 / 2023-11-27 11:06:39+00",
                     "            wal start/stop: 000000020000000000000008 / 000000020000000000000009",
                     "            lsn start/stop: 0/8000028 / 0/9000050",
                     "            database size: 21.8MB, database backup size: 21.8MB",
                     "            repo1: backup size: 2.9MB",
                     "            database list: postgres (5)",
                     "            annotation(s)",
                     "                key: value",
                     "                source: demo backup"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --set=20231127-110636F \\",
                     "    --annotation=key= --annotation=new_key=new_value annotate"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --set=20231127-110636F info"
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "annotation"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "stanza: demo",
                     "    status: ok",
                     "    cipher: aes-256-cbc",
                     "",
                     "    db (current)",
                     "        wal archive min/max (15): 000000020000000000000007/000000020000000000000009",
                     "",
                     "        full backup: 20231127-110636F",
                     "            timestamp start/stop: 2023-11-27 11:06:36+00 / 2023-11-27 11:06:39+00",
                     "            wal start/stop: 000000020000000000000008 / 000000020000000000000009",
                     "            lsn start/stop: 0/8000028 / 0/9000050",
                     "            database size: 21.8MB, database backup size: 21.8MB",
                     "            repo1: backup size: 2.9MB",
                     "            database list: postgres (5)",
                     "            annotation(s)",
                     "                new_key: new_value",
                     "                source: demo backup"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-retention-full" : {
                           "value" : "2"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=full \\",
                     "    --log-level-console=detail backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "archive retention on backup 20231127-110608F|remove archive"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 973 lines of output]",
                     "P00   INFO: repo1: remove expired backup 20231127-110632F",
                     "P00 DETAIL: repo1: 15-1 archive retention on backup 20231127-110636F, start = 000000020000000000000008",
                     "P00   INFO: repo1: 15-1 remove archive, start = 000000020000000000000007, stop = 000000020000000000000007",
                     "P00   INFO: expire command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-110641F"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=full \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "expire full backup set 20231127-110608F|archive retention on backup 20231127-110641F|remove archive"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 11 lines of output]",
                     "P00   INFO: repo1: expire full backup 20231127-110636F",
                     "P00   INFO: repo1: remove expired backup 20231127-110636F",
                     "P00   INFO: repo1: 15-1 remove archive, start = 000000020000000000000008, stop = 000000020000000000000009",
                     "P00   INFO: expire command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-retention-diff" : {
                           "value" : "1"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-diff=1",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=diff backup"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-110643F_20231127-110647D"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=incr backup"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=diff \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "expire diff backup set 20231127-110643F_20231127-110647D"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 10 lines of output]",
                     "P00   INFO: backup command end: completed successfully",
                     "P00   INFO: expire command begin 2.49: --exec-id=988-71377947 --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-diff=1 --repo1-retention-full=2 --stanza=demo",
                     "P00   INFO: repo1: expire diff backup set 20231127-110643F_20231127-110647D, 20231127-110643F_20231127-110649I",
                     "P00   INFO: repo1: remove expired backup 20231127-110643F_20231127-110649I",
                     "P00   INFO: repo1: remove expired backup 20231127-110643F_20231127-110647D",
                     "P00   INFO: expire command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-retention-diff" : {
                           "value" : "2"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-diff=2",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-110643F_20231127-110652D"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    select pg_create_restore_point('generate WAL'); select pg_switch_wal(); \\",
                     "    select pg_create_restore_point('generate WAL'); select pg_switch_wal();\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=diff \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "new backup label"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 6 lines of output]",
                     "P00   INFO: backup stop archive = 000000020000000000000017, lsn = 0/17000050",
                     "P00   INFO: check archive for segment(s) 000000020000000000000016:000000020000000000000017",
                     "P00   INFO: new backup label = 20231127-110643F_20231127-110656D",
                     "P00   INFO: diff backup size = 8.3KB, file total = 961",
                     "P00   INFO: backup command end: completed successfully",
                     "       [filtered 2 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-110643F_20231127-110656D"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=detail \\",
                     "    --repo1-retention-archive-type=diff --repo1-retention-archive=1 expire"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "archive retention on backup 20231127-110643F_20231127-110652D|remove archive"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: expire command begin 2.49: --exec-id=1072-5e2da2c2 --log-level-console=detail --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-archive=1 --repo1-retention-archive-type=diff --repo1-retention-diff=2 --repo1-retention-full=2 --stanza=demo",
                     "P00 DETAIL: repo1: 15-1 archive retention on backup 20231127-110641F, start = 00000002000000000000000A, stop = 00000002000000000000000B",
                     "P00 DETAIL: repo1: 15-1 archive retention on backup 20231127-110643F, start = 00000002000000000000000C, stop = 00000002000000000000000D",
                     "P00 DETAIL: repo1: 15-1 archive retention on backup 20231127-110643F_20231127-110652D, start = 000000020000000000000012, stop = 000000020000000000000013",
                     "P00 DETAIL: repo1: 15-1 archive retention on backup 20231127-110643F_20231127-110656D, start = 000000020000000000000016",
                     "P00   INFO: repo1: 15-1 remove archive, start = 00000002000000000000000E, stop = 000000020000000000000011",
                     "P00   INFO: repo1: 15-1 remove archive, start = 000000020000000000000014, stop = 000000020000000000000015",
                     "P00   INFO: expire command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo stop"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --delta \\",
                     "    --log-level-console=detail restore"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "demo\\/PG_VERSION - exists and matches backup|remove invalid files|rename global\\/pg_control"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 2 lines of output]",
                     "P00 DETAIL: check '/var/lib/postgresql/15/demo' exists",
                     "P00 DETAIL: remove 'global/pg_control' so cluster will not start if restore does not complete",
                     "P00   INFO: remove invalid files/links/paths from '/var/lib/postgresql/15/demo'",
                     "P00 DETAIL: remove invalid file '/var/lib/postgresql/15/demo/backup_label.old'",
                     "P00 DETAIL: remove invalid file '/var/lib/postgresql/15/demo/base/1/pg_internal.init'",
                     "       [filtered 133 lines of output]",
                     "P01 DETAIL: restore file /var/lib/postgresql/15/demo/base/1/113 - exists and matches backup (bundle 20231127-110643F/1/58424, 8KB, 5.94%) checksum 9c6671806c84144652aa7a1e989bc2cfe3d9bd40",
                     "P01 DETAIL: restore file /var/lib/postgresql/15/demo/base/1/112 - exists and matches backup (bundle 20231127-110643F/1/58512, 8KB, 5.98%) checksum 9890dd22d170e0de4f4d9404aba2557a33b9909b",
                     "P01 DETAIL: restore file /var/lib/postgresql/15/demo/PG_VERSION - exists and matches backup (bundle 20231127-110643F/1/58600, 3B, 5.98%) checksum 587b596f04f7db9c2cad3d6b87dd2b3a05de4f35",
                     "P01 DETAIL: restore file /var/lib/postgresql/15/demo/global/2695 - exists and matches backup (bundle 20231127-110643F/1/58624, 16KB, 6.05%) checksum 843d45d7c839660378249350bae98ab512a70e30",
                     "P01 DETAIL: restore file /var/lib/postgresql/15/demo/global/2694 - exists and matches backup (bundle 20231127-110643F/1/58832, 16KB, 6.12%) checksum 88e1fb6d0708cf9fa40378bf8a02d167d4f3f7e9",
                     "       [filtered 866 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo start"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"create database test1;\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "CREATE DATABASE"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"create database test2;\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "CREATE DATABASE"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"create table test1_table (id int); \\",
                     "    insert into test1_table (id) values (1);\" test1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "CREATE TABLE",
                     "INSERT 0 1"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"create table test2_table (id int); \\",
                     "    insert into test2_table (id) values (2);\" test2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "CREATE TABLE",
                     "INSERT 0 1"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=incr backup"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -Atc \"select oid from pg_database where datname = 'test1'\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "32768"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres du -sh /var/lib/postgresql/15/demo/base/32768"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "7.3M\t/var/lib/postgresql/15/demo/base/32768"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-110643F_20231127-110704I"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo \\",
                     "    --set=20231127-110643F_20231127-110704I info"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "database list"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 12 lines of output]",
                     "            repo1: backup size: 2.0MB",
                     "            backup reference list: 20231127-110643F, 20231127-110643F_20231127-110656D",
                     "            database list: postgres (5), test1 (32768), test2 (32769)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo stop"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --delta \\",
                     "    --db-include=test2 --type=immediate --target-action=promote restore"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo start"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"select * from test2_table;\" test2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     " id ",
                     "----",
                     "  2",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"select * from test1_table;\" test1"
                  ],
                  "err-expect" : "2",
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "relation mapping file.*contains invalid data"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "psql: error: connection to server on socket \"/var/run/postgresql/.s.PGSQL.5432\" failed: FATAL:  relation mapping file \"base/32768/pg_filenode.map\" contains invalid data"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres du -sh /var/lib/postgresql/15/demo/base/32768"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "8.0K\t/var/lib/postgresql/15/demo/base/32768"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"drop database test1;\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "DROP DATABASE"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"select oid, datname from pg_database order by oid;\""
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "test2"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "  oid  |  datname  ",
                     "-------+-----------",
                     "     1 | template1",
                     "     4 | template0",
                     "     5 | postgres",
                     " 32769 | test2",
                     "(4 rows)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"begin; \\",
                     "    create table important_table (message text); \\",
                     "    insert into important_table values ('Important Data'); \\",
                     "    commit; \\",
                     "    select * from important_table;\""
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "Important Data"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 4 lines of output]",
                     "    message     ",
                     "----------------",
                     " Important Data",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -Atc \"select current_timestamp\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "2023-11-27 11:07:15.204721+00"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"begin; \\",
                     "    drop table important_table; \\",
                     "    commit; \\",
                     "    select * from important_table;\""
                  ],
                  "err-expect" : "1",
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "does not exist"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "BEGIN",
                     "DROP TABLE",
                     "COMMITERROR:  relation \"important_table\" does not exist",
                     "LINE 1: ...le important_table;     commit;     select * from important_...",
                     "                                                             ^"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=incr backup"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-110643F_20231127-110717I"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest info"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "20231127-110643F_20231127-110717I"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 38 lines of output]",
                     "            backup reference list: 20231127-110643F, 20231127-110643F_20231127-110656D",
                     "",
                     "        incr backup: 20231127-110643F_20231127-110717I",
                     "            timestamp start/stop: 2023-11-27 11:07:17+00 / 2023-11-27 11:07:18+00",
                     "            wal start/stop: 00000004000000000000001A / 00000004000000000000001A",
                     "       [filtered 2 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo stop"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --delta \\",
                     "    --set=20231127-110643F_20231127-110717I --target-timeline=current \\",
                     "    --type=time \"--target=2023-11-27 11:07:15.204721+00\" --target-action=promote restore"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo rm /var/log/postgresql/postgresql-15-demo.log"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo start"
                  ],
                  "err-expect" : "1",
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "recovery ended before configured recovery target was reached"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 11 lines of output]",
                     "LOG:  database system is ready to accept read-only connections",
                     "LOG:  redo done at 0/1A000100 system usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.01 s",
                     "FATAL:  recovery ended before configured recovery target was reached",
                     "LOG:  startup process (PID 1479) exited with exit code 1",
                     "LOG:  terminating any other active server processes",
                     "       [filtered 3 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --delta \\",
                     "    --type=time \"--target=2023-11-27 11:07:15.204721+00\" \\",
                     "    --target-action=promote restore"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo rm /var/log/postgresql/postgresql-15-demo.log"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/lib/postgresql/15/demo/postgresql.auto.conf"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "recovery_target_time"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 9 lines of output]",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:07:20",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "recovery_target_time = '2023-11-27 11:07:15.204721+00'",
                     "recovery_target_action = 'promote'"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo start"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"select * from important_table\""
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "Important Data"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "    message     ",
                     "----------------",
                     " Important Data",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/log/postgresql/postgresql-15-demo.log"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "recovery stopping before|last completed transaction|starting point-in-time recovery"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 4 lines of output]",
                     "LOG:  database system was interrupted; last known up at 2023-11-27 11:07:04 UTC",
                     "LOG:  restored log file \"00000004.history\" from archive",
                     "LOG:  starting point-in-time recovery to 2023-11-27 11:07:15.204721+00",
                     "LOG:  restored log file \"00000004.history\" from archive",
                     "LOG:  restored log file \"000000040000000000000019\" from archive",
                     "       [filtered 3 lines of output]",
                     "LOG:  database system is ready to accept read-only connections",
                     "LOG:  restored log file \"00000004000000000000001A\" from archive",
                     "LOG:  recovery stopping before commit of transaction 734, time 2023-11-27 11:07:16.469116+00",
                     "LOG:  redo done at 0/19025398 system usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.05 s",
                     "LOG:  last completed transaction was at log time 2023-11-27 11:07:13.922149+00",
                     "LOG:  restored log file \"000000040000000000000019\" from archive",
                     "LOG:  selected new timeline ID: 5",
                     "       [filtered 5 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo stop"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stop"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: stop command begin 2.49: --exec-id=1613-8b4e36f4 --log-level-console=info --log-level-stderr=off --no-log-timestamp --stanza=demo",
                     "P00   INFO: stop command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --repo=1 \\",
                     "    --log-level-console=info stanza-delete"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: stanza-delete command begin 2.49: --exec-id=1621-b3f093d7 --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --repo=1 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
                     "P00   INFO: stanza-delete command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo start"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "process-max" : {
                           "value" : "4"
                        },
                        "repo2-azure-account" : {
                           "value" : "pgbackrest"
                        },
                        "repo2-azure-container" : {
                           "value" : "demo-container"
                        },
                        "repo2-azure-key" : {
                           "value" : "YXpLZXk="
                        },
                        "repo2-path" : {
                           "value" : "/demo-repo"
                        },
                        "repo2-retention-full" : {
                           "value" : "4"
                        },
                        "repo2-type" : {
                           "value" : "azure"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "process-max=4",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-diff=2",
                     "repo1-retention-full=2",
                     "repo2-azure-account=pgbackrest",
                     "repo2-azure-container=demo-container",
                     "repo2-azure-key=YXpLZXk=",
                     "repo2-path=/demo-repo",
                     "repo2-retention-full=4",
                     "repo2-type=azure",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "echo \"172.17.0.2 pgbackrest.blob.core.windows.net\" | tee -a /etc/hosts"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --repo=2 repo-create"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-create"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: stanza-create command begin 2.49: --exec-id=1694-33c27b02 --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --repo2-azure-account=<redacted> --repo2-azure-container=demo-container --repo2-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo2-path=/demo-repo --repo2-type=azure --stanza=demo",
                     "P00   INFO: stanza-create for stanza 'demo' on repo1",
                     "P00   INFO: stanza-create for stanza 'demo' on repo2",
                     "P00   INFO: stanza-create command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --repo=2 \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "no prior backup exists|full backup size"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: backup command begin 2.49: --exec-id=1703-55e57c95 --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --process-max=4 --repo=2 --repo2-azure-account=<redacted> --repo2-azure-container=demo-container --repo2-azure-key=<redacted> --repo1-block --repo1-bundle --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo2-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo2-retention-full=4 --repo2-type=azure --stanza=demo --start-fast",
                     "P00   WARN: no prior backup exists, incr backup has been changed to full",
                     "P00   INFO: execute non-exclusive backup start: backup begins after the requested immediate checkpoint completes",
                     "P00   INFO: backup start archive = 00000005000000000000001B, lsn = 0/1B000028",
                     "       [filtered 3 lines of output]",
                     "P00   INFO: check archive for segment(s) 00000005000000000000001B:00000005000000000000001B",
                     "P00   INFO: new backup label = 20231127-110730F",
                     "P00   INFO: full backup size = 29.0MB, file total = 1263",
                     "P00   INFO: backup command end: completed successfully",
                     "P00   INFO: expire command begin 2.49: --exec-id=1703-55e57c95 --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo=2 --repo2-azure-account=<redacted> --repo2-azure-container=demo-container --repo2-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo2-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo2-retention-full=4 --repo2-type=azure --stanza=demo"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "process-max" : {
                           "value" : "4"
                        },
                        "repo3-path" : {
                           "value" : "/demo-repo"
                        },
                        "repo3-retention-full" : {
                           "value" : "4"
                        },
                        "repo3-s3-bucket" : {
                           "value" : "demo-bucket"
                        },
                        "repo3-s3-endpoint" : {
                           "value" : "s3.us-east-1.amazonaws.com"
                        },
                        "repo3-s3-key" : {
                           "value" : "accessKey1"
                        },
                        "repo3-s3-key-secret" : {
                           "value" : "verySecretKey1"
                        },
                        "repo3-s3-region" : {
                           "value" : "us-east-1"
                        },
                        "repo3-type" : {
                           "value" : "s3"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "process-max=4",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-diff=2",
                     "repo1-retention-full=2",
                     "repo2-azure-account=pgbackrest",
                     "repo2-azure-container=demo-container",
                     "repo2-azure-key=YXpLZXk=",
                     "repo2-path=/demo-repo",
                     "repo2-retention-full=4",
                     "repo2-type=azure",
                     "repo3-path=/demo-repo",
                     "repo3-retention-full=4",
                     "repo3-s3-bucket=demo-bucket",
                     "repo3-s3-endpoint=s3.us-east-1.amazonaws.com",
                     "repo3-s3-key=accessKey1",
                     "repo3-s3-key-secret=verySecretKey1",
                     "repo3-s3-region=us-east-1",
                     "repo3-type=s3",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "echo \"172.17.0.3 demo-bucket.s3.us-east-1.amazonaws.com s3.us-east-1.amazonaws.com\" | tee -a /etc/hosts"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --repo=3 repo-create"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-create"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 4 lines of output]",
                     "P00   INFO: stanza 'demo' already exists on repo2 and is valid",
                     "P00   INFO: stanza-create for stanza 'demo' on repo3",
                     "P00   INFO: stanza-create command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --repo=3 \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "no prior backup exists|full backup size"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: backup command begin 2.49: --exec-id=1769-2234f1ba --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --process-max=4 --repo=3 --repo2-azure-account=<redacted> --repo2-azure-container=demo-container --repo2-azure-key=<redacted> --repo1-block --repo1-bundle --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo2-path=/demo-repo --repo3-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo2-retention-full=4 --repo3-retention-full=4 --repo3-s3-bucket=demo-bucket --repo3-s3-endpoint=s3.us-east-1.amazonaws.com --repo3-s3-key=<redacted> --repo3-s3-key-secret=<redacted> --repo3-s3-region=us-east-1 --repo2-type=azure --repo3-type=s3 --stanza=demo --start-fast",
                     "P00   WARN: no prior backup exists, incr backup has been changed to full",
                     "P00   INFO: execute non-exclusive backup start: backup begins after the requested immediate checkpoint completes",
                     "P00   INFO: backup start archive = 00000005000000000000001C, lsn = 0/1C000028",
                     "       [filtered 3 lines of output]",
                     "P00   INFO: check archive for segment(s) 00000005000000000000001C:00000005000000000000001D",
                     "P00   INFO: new backup label = 20231127-110738F",
                     "P00   INFO: full backup size = 29.0MB, file total = 1263",
                     "P00   INFO: backup command end: completed successfully",
                     "P00   INFO: expire command begin 2.49: --exec-id=1769-2234f1ba --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo=3 --repo2-azure-account=<redacted> --repo2-azure-container=demo-container --repo2-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo2-path=/demo-repo --repo3-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo2-retention-full=4 --repo3-retention-full=4 --repo3-s3-bucket=demo-bucket --repo3-s3-endpoint=s3.us-east-1.amazonaws.com --repo3-s3-key=<redacted> --repo3-s3-key-secret=<redacted> --repo3-s3-region=us-east-1 --repo2-type=azure --repo3-type=s3 --stanza=demo"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "process-max" : {
                           "value" : "4"
                        },
                        "repo4-bundle" : {
                           "value" : "y"
                        },
                        "repo4-path" : {
                           "value" : "/demo-repo"
                        },
                        "repo4-sftp-host" : {
                           "value" : "sftp-server"
                        },
                        "repo4-sftp-host-key-hash-type" : {
                           "value" : "sha1"
                        },
                        "repo4-sftp-host-user" : {
                           "value" : "pgbackrest"
                        },
                        "repo4-sftp-private-key-file" : {
                           "value" : "/var/lib/postgresql/.ssh/id_rsa_sftp"
                        },
                        "repo4-sftp-public-key-file" : {
                           "value" : "/var/lib/postgresql/.ssh/id_rsa_sftp.pub"
                        },
                        "repo4-type" : {
                           "value" : "sftp"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "process-max=4",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-diff=2",
                     "repo1-retention-full=2",
                     "repo2-azure-account=pgbackrest",
                     "repo2-azure-container=demo-container",
                     "repo2-azure-key=YXpLZXk=",
                     "repo2-path=/demo-repo",
                     "repo2-retention-full=4",
                     "repo2-type=azure",
                     "repo3-path=/demo-repo",
                     "repo3-retention-full=4",
                     "repo3-s3-bucket=demo-bucket",
                     "repo3-s3-endpoint=s3.us-east-1.amazonaws.com",
                     "repo3-s3-key=accessKey1",
                     "repo3-s3-key-secret=verySecretKey1",
                     "repo3-s3-region=us-east-1",
                     "repo3-type=s3",
                     "repo4-bundle=y",
                     "repo4-path=/demo-repo",
                     "repo4-sftp-host=sftp-server",
                     "repo4-sftp-host-key-hash-type=sha1",
                     "repo4-sftp-host-user=pgbackrest",
                     "repo4-sftp-private-key-file=/var/lib/postgresql/.ssh/id_rsa_sftp",
                     "repo4-sftp-public-key-file=/var/lib/postgresql/.ssh/id_rsa_sftp.pub",
                     "repo4-type=sftp",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres mkdir -m 750 -p /var/lib/postgresql/.ssh"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres ssh-keygen -f /var/lib/postgresql/.ssh/id_rsa_sftp \\",
                     "    -t rsa -b 4096 -N \"\" -m PEM"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "id -u pgbackrest > /dev/null 2>&1 || adduser --disabled-password --gecos \"\" pgbackrest"
                  ],
                  "host" : "sftp-server",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "mkdir -m 750 -p /demo-repo && chown pgbackrest /demo-repo"
                  ],
                  "host" : "sftp-server",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest mkdir -m 750 -p /home/pgbackrest/.ssh"
                  ],
                  "host" : "sftp-server",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "(sudo ssh root@pg-primary cat /var/lib/postgresql/.ssh/id_rsa_sftp.pub) | \\",
                     "    sudo -u pgbackrest tee -a /home/pgbackrest/.ssh/authorized_keys"
                  ],
                  "host" : "sftp-server",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "ssh-keyscan -H sftp-server >> /var/lib/postgresql/.ssh/known_hosts 2>/dev/null"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "postgres"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-create"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 6 lines of output]",
                     "P00   INFO: stanza 'demo' already exists on repo3 and is valid",
                     "P00   INFO: stanza-create for stanza 'demo' on repo4",
                     "P00   INFO: stanza-create command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --repo=4 \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "no prior backup exists|full backup size"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: backup command begin 2.49: --exec-id=1850-03e10449 --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --process-max=4 --repo=4 --repo2-azure-account=<redacted> --repo2-azure-container=demo-container --repo2-azure-key=<redacted> --repo1-block --repo1-bundle --repo4-bundle --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo2-path=/demo-repo --repo3-path=/demo-repo --repo4-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo2-retention-full=4 --repo3-retention-full=4 --repo3-s3-bucket=demo-bucket --repo3-s3-endpoint=s3.us-east-1.amazonaws.com --repo3-s3-key=<redacted> --repo3-s3-key-secret=<redacted> --repo3-s3-region=us-east-1 --repo4-sftp-host=sftp-server --repo4-sftp-host-key-hash-type=sha1 --repo4-sftp-host-user=pgbackrest --repo4-sftp-private-key-file=/var/lib/postgresql/.ssh/id_rsa_sftp --repo4-sftp-public-key-file=/var/lib/postgresql/.ssh/id_rsa_sftp.pub --repo2-type=azure --repo3-type=s3 --repo4-type=sftp --stanza=demo --start-fast",
                     "P00   WARN: option 'repo4-retention-full' is not set for 'repo4-retention-full-type=count', the repository may run out of space",
                     "            HINT: to retain full backups indefinitely (without warning), set option 'repo4-retention-full' to the maximum.",
                     "P00   WARN: no prior backup exists, incr backup has been changed to full",
                     "P00   INFO: execute non-exclusive backup start: backup begins after the requested immediate checkpoint completes",
                     "P00   INFO: backup start archive = 00000005000000000000001E, lsn = 0/1E000028",
                     "       [filtered 3 lines of output]",
                     "P00   INFO: check archive for segment(s) 00000005000000000000001E:00000005000000000000001F",
                     "P00   INFO: new backup label = 20231127-110746F",
                     "P00   INFO: full backup size = 29.0MB, file total = 1263",
                     "P00   INFO: backup command end: completed successfully",
                     "P00   INFO: expire command begin 2.49: --exec-id=1850-03e10449 --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo=4 --repo2-azure-account=<redacted> --repo2-azure-container=demo-container --repo2-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo2-path=/demo-repo --repo3-path=/demo-repo --repo4-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo2-retention-full=4 --repo3-retention-full=4 --repo3-s3-bucket=demo-bucket --repo3-s3-endpoint=s3.us-east-1.amazonaws.com --repo3-s3-key=<redacted> --repo3-s3-key-secret=<redacted> --repo3-s3-region=us-east-1 --repo4-sftp-host=sftp-server --repo4-sftp-host-key-hash-type=sha1 --repo4-sftp-host-user=pgbackrest --repo4-sftp-private-key-file=/var/lib/postgresql/.ssh/id_rsa_sftp --repo4-sftp-public-key-file=/var/lib/postgresql/.ssh/id_rsa_sftp.pub --repo2-type=azure --repo3-type=s3 --repo4-type=sftp --stanza=demo",
                     "P00   INFO: expire command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "process-max" : {
                           "value" : "4"
                        },
                        "repo5-gcs-bucket" : {
                           "value" : "demo-bucket"
                        },
                        "repo5-gcs-key" : {
                           "value" : "/etc/pgbackrest/gcs-key.json"
                        },
                        "repo5-path" : {
                           "value" : "/demo-repo"
                        },
                        "repo5-type" : {
                           "value" : "gcs"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "process-max=4",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-diff=2",
                     "repo1-retention-full=2",
                     "repo2-azure-account=pgbackrest",
                     "repo2-azure-container=demo-container",
                     "repo2-azure-key=YXpLZXk=",
                     "repo2-path=/demo-repo",
                     "repo2-retention-full=4",
                     "repo2-type=azure",
                     "repo3-path=/demo-repo",
                     "repo3-retention-full=4",
                     "repo3-s3-bucket=demo-bucket",
                     "repo3-s3-endpoint=s3.us-east-1.amazonaws.com",
                     "repo3-s3-key=accessKey1",
                     "repo3-s3-key-secret=verySecretKey1",
                     "repo3-s3-region=us-east-1",
                     "repo3-type=s3",
                     "repo4-bundle=y",
                     "repo4-path=/demo-repo",
                     "repo4-sftp-host=sftp-server",
                     "repo4-sftp-host-key-hash-type=sha1",
                     "repo4-sftp-host-user=pgbackrest",
                     "repo4-sftp-private-key-file=/var/lib/postgresql/.ssh/id_rsa_sftp",
                     "repo4-sftp-public-key-file=/var/lib/postgresql/.ssh/id_rsa_sftp.pub",
                     "repo4-type=sftp",
                     "repo5-gcs-bucket=demo-bucket",
                     "repo5-gcs-key=/etc/pgbackrest/gcs-key.json",
                     "repo5-path=/demo-repo",
                     "repo5-type=gcs",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "id" : "repo1",
                  "image" : "pgbackrest/doc:debian",
                  "name" : "repository",
                  "option" : "-m 512m -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
                  "os" : "debian",
                  "update-hosts" : true
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.7"
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo adduser --disabled-password --gecos \"\" pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo apt-get install postgresql-client libxml2 libssh2-1"
                  ],
                  "cmd-extra" : "-y 2>&1",
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo scp build:/build/pgbackrest-release-2.49/src/pgbackrest /usr/bin"
                  ],
                  "cmd-extra" : "2>&1",
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 755 /usr/bin/pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p -m 770 /var/log/pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown pgbackrest:pgbackrest /var/log/pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest/conf.d"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo touch /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 640 /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown pgbackrest:pgbackrest /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /var/lib/pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 750 /var/lib/pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown pgbackrest:pgbackrest /var/lib/pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest mkdir -m 750 /home/pgbackrest/.ssh"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest ssh-keygen -f /home/pgbackrest/.ssh/id_rsa \\",
                     "    -t rsa -b 4096 -N \"\""
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres mkdir -m 750 -p /var/lib/postgresql/.ssh"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres ssh-keygen -f /var/lib/postgresql/.ssh/id_rsa \\",
                     "    -t rsa -b 4096 -N \"\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "(echo -n 'no-agent-forwarding,no-X11-forwarding,no-port-forwarding,' && \\",
                     "    echo -n 'command=\"/usr/bin/pgbackrest ${SSH_ORIGINAL_COMMAND#* }\" ' && \\",
                     "    sudo ssh root@pg-primary cat /var/lib/postgresql/.ssh/id_rsa.pub) | \\",
                     "    sudo -u pgbackrest tee -a /home/pgbackrest/.ssh/authorized_keys"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "(echo -n 'no-agent-forwarding,no-X11-forwarding,no-port-forwarding,' && \\",
                     "    echo -n 'command=\"/usr/bin/pgbackrest ${SSH_ORIGINAL_COMMAND#* }\" ' && \\",
                     "    sudo ssh root@repository cat /home/pgbackrest/.ssh/id_rsa.pub) | \\",
                     "    sudo -u postgres tee -a /var/lib/postgresql/.ssh/authorized_keys"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest ssh postgres@pg-primary"
                  ],
                  "cmd-extra" : "-o StrictHostKeyChecking=no",
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres ssh pgbackrest@repository"
                  ],
                  "cmd-extra" : "-o StrictHostKeyChecking=no",
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "repository",
                  "option" : {
                     "global" : {
                        "repo1-path" : {
                           "value" : "/var/lib/pgbackrest"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[global]",
                     "repo1-path=/var/lib/pgbackrest"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "repository",
                  "option" : {
                     "demo" : {
                        "pg1-host" : {
                           "value" : "pg-primary"
                        },
                        "pg1-path" : {
                           "value" : "/var/lib/postgresql/15/demo"
                        }
                     },
                     "global" : {
                        "log-level-stderr" : {
                           "value" : "off"
                        },
                        "log-timestamp" : {
                           "value" : "n"
                        },
                        "repo1-retention-full" : {
                           "value" : "2"
                        },
                        "start-fast" : {
                           "value" : "y"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-host=pg-primary",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "demo" : {
                        "pg1-path" : {
                           "value" : "/var/lib/postgresql/15/demo"
                        }
                     },
                     "global" : {
                        "log-level-file" : {
                           "value" : "detail"
                        },
                        "log-level-stderr" : {
                           "value" : "off"
                        },
                        "log-timestamp" : {
                           "value" : "n"
                        },
                        "repo1-host" : {
                           "value" : "repository"
                        }
                     }
                  },
                  "reset" : true
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "log-level-file=detail",
                     "repo1-host=repository"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo stanza-create"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo check"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo check"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo backup"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   WARN: no prior backup exists, incr backup has been changed to full"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo stop"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --delta restore"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo start"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo --type=full backup"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "repository",
                  "option" : {
                     "global" : {
                        "process-max" : {
                           "value" : "3"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-host=pg-primary",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "process-max=3",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo --type=full backup"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest info"
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "timestamp start/stop"
                     ]
                  },
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "stanza: demo",
                     "    status: ok",
                     "    cipher: none",
                     "",
                     "    db (current)",
                     "        wal archive min/max (15): 000000060000000000000025/000000060000000000000027",
                     "",
                     "        full backup: 20231127-110815F",
                     "            timestamp start/stop: 2023-11-27 11:08:15+00 / 2023-11-27 11:08:18+00",
                     "            wal start/stop: 000000060000000000000025 / 000000060000000000000025",
                     "            database size: 29.0MB, database backup size: 29.0MB",
                     "            repo1: backup set size: 3.9MB, backup size: 3.9MB",
                     "",
                     "        full backup: 20231127-110820F",
                     "            timestamp start/stop: 2023-11-27 11:08:20+00 / 2023-11-27 11:08:23+00",
                     "            wal start/stop: 000000060000000000000026 / 000000060000000000000027",
                     "            database size: 29.0MB, database backup size: 29.0MB",
                     "            repo1: backup set size: 3.9MB, backup size: 3.9MB"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest stop"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo backup"
                  ],
                  "err-expect" : "56",
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "\\: stop file exists for all stanzas"
                     ]
                  },
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   WARN: unable to check pg1: [StopError] raised from remote-0 ssh protocol on 'pg-primary': stop file exists for all stanzas",
                     "P00  ERROR: [056]: unable to find primary cluster - cannot proceed",
                     "            HINT: are all available clusters in recovery?"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest stop"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   WARN: stop file already exists for all stanzas"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest start"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo stop"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo backup"
                  ],
                  "err-expect" : "56",
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "\\: stop file exists for stanza demo"
                     ]
                  },
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   WARN: unable to check pg1: [StopError] raised from remote-0 ssh protocol on 'pg-primary': stop file exists for stanza demo",
                     "P00  ERROR: [056]: unable to find primary cluster - cannot proceed",
                     "            HINT: are all available clusters in recovery?"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo start"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "id" : "pg2",
                  "image" : "pgbackrest/doc:debian",
                  "name" : "pg-standby",
                  "option" : "-m 512m -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
                  "os" : "debian",
                  "update-hosts" : true
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.8"
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo apt-get install postgresql-client libxml2 libssh2-1"
                  ],
                  "cmd-extra" : "-y 2>&1",
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo scp build:/build/pgbackrest-release-2.49/src/pgbackrest /usr/bin"
                  ],
                  "cmd-extra" : "2>&1",
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 755 /usr/bin/pgbackrest"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p -m 770 /var/log/pgbackrest"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /var/log/pgbackrest"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest/conf.d"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo touch /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 640 /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres mkdir -m 750 -p /var/lib/postgresql/.ssh"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres ssh-keygen -f /var/lib/postgresql/.ssh/id_rsa \\",
                     "    -t rsa -b 4096 -N \"\""
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "(echo -n 'no-agent-forwarding,no-X11-forwarding,no-port-forwarding,' && \\",
                     "    echo -n 'command=\"/usr/bin/pgbackrest ${SSH_ORIGINAL_COMMAND#* }\" ' && \\",
                     "    sudo ssh root@pg-standby cat /var/lib/postgresql/.ssh/id_rsa.pub) | \\",
                     "    sudo -u pgbackrest tee -a /home/pgbackrest/.ssh/authorized_keys"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "(echo -n 'no-agent-forwarding,no-X11-forwarding,no-port-forwarding,' && \\",
                     "    echo -n 'command=\"/usr/bin/pgbackrest ${SSH_ORIGINAL_COMMAND#* }\" ' && \\",
                     "    sudo ssh root@repository cat /home/pgbackrest/.ssh/id_rsa.pub) | \\",
                     "    sudo -u postgres tee -a /var/lib/postgresql/.ssh/authorized_keys"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest ssh postgres@pg-standby"
                  ],
                  "cmd-extra" : "-o StrictHostKeyChecking=no",
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres ssh pgbackrest@repository"
                  ],
                  "cmd-extra" : "-o StrictHostKeyChecking=no",
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-standby",
                  "option" : {
                     "demo" : {
                        "pg1-path" : {
                           "value" : "/var/lib/postgresql/15/demo"
                        }
                     },
                     "global" : {
                        "log-level-file" : {
                           "value" : "detail"
                        },
                        "log-level-stderr" : {
                           "value" : "off"
                        },
                        "log-timestamp" : {
                           "value" : "n"
                        },
                        "repo1-host" : {
                           "value" : "repository"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "log-level-file=detail",
                     "repo1-host=repository"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_createcluster 15 demo"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --delta --type=standby restore"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/lib/postgresql/15/demo/postgresql.auto.conf"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "# Do not edit this file manually!",
                     "# It will be overwritten by the ALTER SYSTEM command.",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:06:16",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:06:58",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:07:20",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "# Removed by pgBackRest restore on 2023-11-27 11:08:08 # recovery_target_time = '2023-11-27 11:07:15.204721+00'",
                     "# Removed by pgBackRest restore on 2023-11-27 11:08:08 # recovery_target_action = 'promote'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:08:08",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:08:35",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "cat /root/postgresql.common.conf >> /etc/postgresql/15/demo/postgresql.conf"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/postgresql/15/demo/postgresql.conf",
                  "host" : "pg-standby",
                  "option" : {
                     "archive_command" : {
                        "value" : "'pgbackrest --stanza=demo archive-push %p'"
                     },
                     "archive_mode" : {
                        "value" : "on"
                     },
                     "hot_standby" : {
                        "value" : "on"
                     },
                     "max_wal_senders" : {
                        "value" : "3"
                     },
                     "wal_level" : {
                        "value" : "replica"
                     }
                  }
               },
               "type" : "cfg-postgresql",
               "value" : {
                  "config" : [
                     "archive_command = 'pgbackrest --stanza=demo archive-push %p'",
                     "archive_mode = on",
                     "hot_standby = on",
                     "max_wal_senders = 3",
                     "wal_level = replica"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo rm /var/log/postgresql/postgresql-15-demo.log"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo start"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/log/postgresql/postgresql-15-demo.log"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "entering standby mode|database system is ready to accept read only connections"
                     ]
                  },
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 3 lines of output]",
                     "LOG:  listening on Unix socket \"/var/run/postgresql/.s.PGSQL.5432\"",
                     "LOG:  database system was interrupted; last known up at 2023-11-27 11:08:20 UTC",
                     "LOG:  entering standby mode",
                     "LOG:  restored log file \"00000006.history\" from archive",
                     "LOG:  restored log file \"000000060000000000000026\" from archive",
                     "       [filtered 4 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    begin; \\",
                     "    create table replicated_table (message text); \\",
                     "    insert into replicated_table values ('Important Data'); \\",
                     "    commit; \\",
                     "    select * from replicated_table\";"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "Important Data"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 4 lines of output]",
                     "    message     ",
                     "----------------",
                     " Important Data",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"select * from replicated_table;\""
                  ],
                  "err-expect" : "1",
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "does not exist"
                     ]
                  },
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "ERROR:  relation \"replicated_table\" does not exist",
                     "LINE 1: select * from replicated_table;",
                     "                      ^"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"select *, current_timestamp from pg_switch_wal()\";"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     " pg_switch_wal |      current_timestamp       ",
                     "---------------+------------------------------",
                     " 0/28019A48    | 2023-11-27 11:08:42.63346+00",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    select *, current_timestamp from replicated_table\""
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "Important Data"
                     ]
                  },
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "    message     |       current_timestamp       ",
                     "----------------+-------------------------------",
                     " Important Data | 2023-11-27 11:08:43.989503+00",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info check"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "because this is a standby"
                     ]
                  },
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: check command begin 2.49: --exec-id=525-c4acc9ba --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --repo1-host=repository --stanza=demo",
                     "P00   INFO: check repo1 (standby)",
                     "P00   INFO: switch wal not performed because this is a standby",
                     "P00   INFO: check command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    create user replicator password 'jw8s0F4' replication\";"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "CREATE ROLE"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sh -c 'echo \\",
                     "    \"host    replication     replicator      172.17.0.8/32           md5\" \\",
                     "    >> /etc/postgresql/15/demo/pg_hba.conf'"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo reload"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-standby",
                  "option" : {
                     "demo" : {
                        "recovery-option" : {
                           "value" : "primary_conninfo=host=172.17.0.6 port=5432 user=replicator"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "recovery-option=primary_conninfo=host=172.17.0.6 port=5432 user=replicator",
                     "",
                     "[global]",
                     "log-level-file=detail",
                     "repo1-host=repository"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sh -c 'echo \\",
                     "    \"172.17.0.6:*:replication:replicator:jw8s0F4\" \\",
                     "    >> /var/lib/postgresql/.pgpass'"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres chmod 600 /var/lib/postgresql/.pgpass"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo stop"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --delta --type=standby restore"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/lib/postgresql/15/demo/postgresql.auto.conf"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "# Do not edit this file manually!",
                     "# It will be overwritten by the ALTER SYSTEM command.",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:06:16",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:06:58",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:07:20",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "# Removed by pgBackRest restore on 2023-11-27 11:08:08 # recovery_target_time = '2023-11-27 11:07:15.204721+00'",
                     "# Removed by pgBackRest restore on 2023-11-27 11:08:08 # recovery_target_action = 'promote'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:08:08",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:08:47",
                     "primary_conninfo = 'host=172.17.0.6 port=5432 user=replicator'",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo rm /var/log/postgresql/postgresql-15-demo.log"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo start"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/log/postgresql/postgresql-15-demo.log"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "started streaming WAL from primary"
                     ]
                  },
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 11 lines of output]",
                     "LOG:  consistent recovery state reached at 0/27000050",
                     "LOG:  database system is ready to accept read-only connections",
                     "LOG:  started streaming WAL from primary at 0/29000000 on timeline 6"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    begin; \\",
                     "    create table stream_table (message text); \\",
                     "    insert into stream_table values ('Important Data'); \\",
                     "    commit; \\",
                     "    select *, current_timestamp from stream_table\";"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "Important Data"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 4 lines of output]",
                     "    message     |       current_timestamp       ",
                     "----------------+-------------------------------",
                     " Important Data | 2023-11-27 11:08:53.679537+00",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    select *, current_timestamp from stream_table\""
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "Important Data"
                     ]
                  },
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "    message     |       current_timestamp       ",
                     "----------------+-------------------------------",
                     " Important Data | 2023-11-27 11:08:53.873998+00",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "id" : "pgalt",
                  "image" : "pgbackrest/doc:debian",
                  "name" : "pg-alt",
                  "option" : "-m 512m -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
                  "os" : "debian",
                  "update-hosts" : true
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.9"
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo apt-get install postgresql-client libxml2 libssh2-1"
                  ],
                  "cmd-extra" : "-y 2>&1",
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo scp build:/build/pgbackrest-release-2.49/src/pgbackrest /usr/bin"
                  ],
                  "cmd-extra" : "2>&1",
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 755 /usr/bin/pgbackrest"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p -m 770 /var/log/pgbackrest"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /var/log/pgbackrest"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest/conf.d"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo touch /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 640 /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres mkdir -m 750 -p /var/lib/postgresql/.ssh"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres ssh-keygen -f /var/lib/postgresql/.ssh/id_rsa \\",
                     "    -t rsa -b 4096 -N \"\""
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "(echo -n 'no-agent-forwarding,no-X11-forwarding,no-port-forwarding,' && \\",
                     "    echo -n 'command=\"/usr/bin/pgbackrest ${SSH_ORIGINAL_COMMAND#* }\" ' && \\",
                     "    sudo ssh root@pg-alt cat /var/lib/postgresql/.ssh/id_rsa.pub) | \\",
                     "    sudo -u pgbackrest tee -a /home/pgbackrest/.ssh/authorized_keys"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "(echo -n 'no-agent-forwarding,no-X11-forwarding,no-port-forwarding,' && \\",
                     "    echo -n 'command=\"/usr/bin/pgbackrest ${SSH_ORIGINAL_COMMAND#* }\" ' && \\",
                     "    sudo ssh root@repository cat /home/pgbackrest/.ssh/id_rsa.pub) | \\",
                     "    sudo -u postgres tee -a /var/lib/postgresql/.ssh/authorized_keys"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest ssh postgres@pg-alt"
                  ],
                  "cmd-extra" : "-o StrictHostKeyChecking=no",
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres ssh pgbackrest@repository"
                  ],
                  "cmd-extra" : "-o StrictHostKeyChecking=no",
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-alt",
                  "option" : {
                     "demo-alt" : {
                        "pg1-path" : {
                           "value" : "/var/lib/postgresql/15/demo"
                        }
                     },
                     "global" : {
                        "log-level-file" : {
                           "value" : "detail"
                        },
                        "log-level-stderr" : {
                           "value" : "off"
                        },
                        "log-timestamp" : {
                           "value" : "n"
                        },
                        "repo1-host" : {
                           "value" : "repository"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo-alt]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "log-level-file=detail",
                     "repo1-host=repository"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "repository",
                  "option" : {
                     "demo-alt" : {
                        "pg1-host" : {
                           "value" : "pg-alt"
                        },
                        "pg1-path" : {
                           "value" : "/var/lib/postgresql/15/demo"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-host=pg-primary",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[demo-alt]",
                     "pg1-host=pg-alt",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "process-max=3",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres /usr/lib/postgresql/15/bin/initdb \\",
                     "    -D /var/lib/postgresql/15/demo -k -A peer"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_createcluster 15 demo"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "Configuring already existing cluster (configuration: /etc/postgresql/15/demo, data: /var/lib/postgresql/15/demo, owner: 102:103)",
                     "Ver Cluster Port Status Owner    Data directory              Log file",
                     "15  demo    5432 down   postgres /var/lib/postgresql/15/demo /var/log/postgresql/postgresql-15-demo.log"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "cat /root/postgresql.common.conf >> /etc/postgresql/15/demo/postgresql.conf"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/postgresql/15/demo/postgresql.conf",
                  "host" : "pg-alt",
                  "option" : {
                     "archive_command" : {
                        "value" : "'pgbackrest --stanza=demo-alt archive-push %p'"
                     },
                     "archive_mode" : {
                        "value" : "on"
                     },
                     "max_wal_senders" : {
                        "value" : "3"
                     },
                     "wal_level" : {
                        "value" : "replica"
                     }
                  }
               },
               "type" : "cfg-postgresql",
               "value" : {
                  "config" : [
                     "archive_command = 'pgbackrest --stanza=demo-alt archive-push %p'",
                     "archive_mode = on",
                     "max_wal_senders = 3",
                     "wal_level = replica"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo restart"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo-alt --log-level-console=info stanza-create"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: stanza-create command begin 2.49: --exec-id=397-f8864c04 --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --repo1-host=repository --stanza=demo-alt",
                     "P00   INFO: stanza-create for stanza 'demo-alt' on repo1",
                     "P00   INFO: stanza-create command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --log-level-console=info check"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "check stanza | successfully archived to "
                     ]
                  },
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: check command begin 2.49: --exec-id=407-dee72d6a --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --repo1-host=repository",
                     "P00   INFO: check stanza 'demo-alt'",
                     "P00   INFO: check repo1 configuration (primary)",
                     "P00   INFO: check repo1 archive for WAL (primary)",
                     "P00   INFO: WAL segment 000000010000000000000001 successfully archived to '/var/lib/pgbackrest/archive/demo-alt/15-1/0000000100000000/000000010000000000000001-72cf2e36d799d038c508732dc95adb2bb0a25020.gz' on repo1",
                     "P00   INFO: check command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --log-level-console=info check"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "check stanza | successfully archived to "
                     ]
                  },
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: check command begin 2.49: --exec-id=1251-bb10b4ac --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-path=/var/lib/pgbackrest",
                     "P00   INFO: check stanza 'demo'",
                     "P00   INFO: check repo1 configuration (primary)",
                     "P00   INFO: check repo1 archive for WAL (primary)",
                     "P00   INFO: WAL segment 000000060000000000000029 successfully archived to '/var/lib/pgbackrest/archive/demo/15-1/0000000600000000/000000060000000000000029-87ecac4a09d8cc2b22a4879ee1da71bdb107f5e5.gz' on repo1",
                     "P00   INFO: check stanza 'demo-alt'",
                     "P00   INFO: check repo1 configuration (primary)",
                     "P00   INFO: check repo1 archive for WAL (primary)",
                     "P00   INFO: WAL segment 000000010000000000000002 successfully archived to '/var/lib/pgbackrest/archive/demo-alt/15-1/0000000100000000/000000010000000000000002-2682fe8bffca30eb444d01786feac1f23d905935.gz' on repo1",
                     "P00   INFO: check command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p -m 750 /var/spool/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /var/spool/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p -m 750 /var/spool/pgbackrest"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /var/spool/pgbackrest"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "archive-async" : {
                           "value" : "y"
                        },
                        "spool-path" : {
                           "value" : "/var/spool/pgbackrest"
                        }
                     },
                     "global:archive-get" : {
                        "process-max" : {
                           "value" : "2"
                        }
                     },
                     "global:archive-push" : {
                        "process-max" : {
                           "value" : "2"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "archive-async=y",
                     "log-level-file=detail",
                     "repo1-host=repository",
                     "spool-path=/var/spool/pgbackrest",
                     "",
                     "[global:archive-get]",
                     "process-max=2",
                     "",
                     "[global:archive-push]",
                     "process-max=2"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-standby",
                  "option" : {
                     "global" : {
                        "archive-async" : {
                           "value" : "y"
                        },
                        "spool-path" : {
                           "value" : "/var/spool/pgbackrest"
                        }
                     },
                     "global:archive-get" : {
                        "process-max" : {
                           "value" : "2"
                        }
                     },
                     "global:archive-push" : {
                        "process-max" : {
                           "value" : "2"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "recovery-option=primary_conninfo=host=172.17.0.6 port=5432 user=replicator",
                     "",
                     "[global]",
                     "archive-async=y",
                     "log-level-file=detail",
                     "repo1-host=repository",
                     "spool-path=/var/spool/pgbackrest",
                     "",
                     "[global:archive-get]",
                     "process-max=2",
                     "",
                     "[global:archive-push]",
                     "process-max=2"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"alter user replicator password 'bogus'\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "ALTER ROLE"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo restart"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres rm -f /var/log/pgbackrest/demo-archive-push-async.log"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    select pg_create_restore_point('test async push'); select pg_switch_wal(); \\",
                     "    select pg_create_restore_point('test async push'); select pg_switch_wal(); \\",
                     "    select pg_create_restore_point('test async push'); select pg_switch_wal(); \\",
                     "    select pg_create_restore_point('test async push'); select pg_switch_wal(); \\",
                     "    select pg_create_restore_point('test async push'); select pg_switch_wal();\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info check"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "WAL segment"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: check command begin 2.49: --exec-id=2460-485ece56 --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --repo1-host=repository --stanza=demo",
                     "P00   INFO: check repo1 configuration (primary)",
                     "P00   INFO: check repo1 archive for WAL (primary)",
                     "P00   INFO: WAL segment 00000006000000000000002F successfully archived to '/var/lib/pgbackrest/archive/demo/15-1/0000000600000000/00000006000000000000002F-8555619c771dbb353a2868184b1dd45b6387dfe7.gz' on repo1",
                     "P00   INFO: check command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/log/pgbackrest/demo-archive-push-async.log"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        " WAL file\\(s\\) to archive|pushed WAL file \\'0000000"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "-------------------PROCESS START-------------------",
                     "P00   INFO: archive-push:async command begin 2.49: [/var/lib/postgresql/15/demo/pg_wal] --archive-async --exec-id=2446-e816de5b --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
                     "P00   INFO: push 1 WAL file(s) to archive: 00000006000000000000002A",
                     "P01 DETAIL: pushed WAL file '00000006000000000000002A' to the archive",
                     "P00   INFO: archive-push:async command end: completed successfully",
                     "",
                     "-------------------PROCESS START-------------------",
                     "P00   INFO: archive-push:async command begin 2.49: [/var/lib/postgresql/15/demo/pg_wal] --archive-async --exec-id=2463-89a390cc --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
                     "P00   INFO: push 4 WAL file(s) to archive: 00000006000000000000002B...00000006000000000000002E",
                     "P01 DETAIL: pushed WAL file '00000006000000000000002B' to the archive",
                     "P02 DETAIL: pushed WAL file '00000006000000000000002C' to the archive",
                     "P01 DETAIL: pushed WAL file '00000006000000000000002D' to the archive",
                     "P02 DETAIL: pushed WAL file '00000006000000000000002E' to the archive",
                     "P00   INFO: archive-push:async command end: completed successfully",
                     "",
                     "-------------------PROCESS START-------------------",
                     "P00   INFO: archive-push:async command begin 2.49: [/var/lib/postgresql/15/demo/pg_wal] --archive-async --exec-id=2479-f3092090 --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
                     "P00   INFO: push 1 WAL file(s) to archive: 00000006000000000000002F",
                     "P01 DETAIL: pushed WAL file '00000006000000000000002F' to the archive",
                     "P00   INFO: archive-push:async command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 5"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/log/pgbackrest/demo-archive-get-async.log"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "found [0-F]{24} in the .* archive"
                     ]
                  },
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "-------------------PROCESS START-------------------",
                     "P00   INFO: archive-get:async command begin 2.49: [000000060000000000000026, 000000060000000000000027, 000000060000000000000028, 000000060000000000000029, 00000006000000000000002A, 00000006000000000000002B, 00000006000000000000002C, 00000006000000000000002D] --archive-async --exec-id=744-9c2b43bc --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
                     "P00   INFO: get 8 WAL file(s) from archive: 000000060000000000000026...00000006000000000000002D",
                     "P02 DETAIL: found 000000060000000000000027 in the repo1: 15-1 archive",
                     "P01 DETAIL: found 000000060000000000000026 in the repo1: 15-1 archive",
                     "P02 DETAIL: found 000000060000000000000028 in the repo1: 15-1 archive",
                     "P01 DETAIL: found 000000060000000000000029 in the repo1: 15-1 archive",
                     "P00 DETAIL: unable to find 00000006000000000000002A in the archive",
                     "P00   INFO: archive-get:async command end: completed successfully",
                     "       [filtered 14 lines of output]",
                     "P00   INFO: archive-get:async command begin 2.49: [00000006000000000000002A, 00000006000000000000002B, 00000006000000000000002C, 00000006000000000000002D, 00000006000000000000002E, 00000006000000000000002F, 000000060000000000000030, 000000060000000000000031] --archive-async --exec-id=795-ba787648 --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/15/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
                     "P00   INFO: get 8 WAL file(s) from archive: 00000006000000000000002A...000000060000000000000031",
                     "P02 DETAIL: found 00000006000000000000002B in the repo1: 15-1 archive",
                     "P01 DETAIL: found 00000006000000000000002A in the repo1: 15-1 archive",
                     "P02 DETAIL: found 00000006000000000000002C in the repo1: 15-1 archive",
                     "P01 DETAIL: found 00000006000000000000002D in the repo1: 15-1 archive",
                     "P02 DETAIL: found 00000006000000000000002E in the repo1: 15-1 archive",
                     "P01 DETAIL: found 00000006000000000000002F in the repo1: 15-1 archive",
                     "P00 DETAIL: unable to find 000000060000000000000030 in the archive",
                     "P00   INFO: archive-get:async command end: completed successfully",
                     "       [filtered 11 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"alter user replicator password 'jw8s0F4'\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "ALTER ROLE"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "repository",
                  "option" : {
                     "demo" : {
                        "pg2-host" : {
                           "value" : "pg-standby"
                        },
                        "pg2-path" : {
                           "value" : "/var/lib/postgresql/15/demo"
                        }
                     },
                     "global" : {
                        "backup-standby" : {
                           "value" : "y"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-host=pg-primary",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "pg2-host=pg-standby",
                     "pg2-path=/var/lib/postgresql/15/demo",
                     "",
                     "[demo-alt]",
                     "pg1-host=pg-alt",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "backup-standby=y",
                     "process-max=3",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo --log-level-console=detail backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "backup file pg-primary|replay on the standby"
                     ]
                  },
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 2 lines of output]",
                     "P00   INFO: execute non-exclusive backup start: backup begins after the requested immediate checkpoint completes",
                     "P00   INFO: backup start archive = 000000060000000000000031, lsn = 0/31000028",
                     "P00   INFO: wait for replay on the standby to reach 0/31000028",
                     "P00   INFO: replay on the standby reached 0/31000028",
                     "P00   INFO: check archive for prior segment 000000060000000000000030",
                     "P04 DETAIL: backup file pg-standby:/var/lib/postgresql/15/demo/base/5/1247 (120KB, 8.06%) checksum 9bdc1e3d6ebd85a38786ca3084a720e9d6da4f06",
                     "P01 DETAIL: backup file pg-primary:/var/lib/postgresql/15/demo/global/pg_control (8KB, 8.60%) checksum e9f1f4f0fd313f697f9d23afed811c7eae850738",
                     "P01 DETAIL: backup file pg-primary:/var/lib/postgresql/15/demo/pg_logical/replorigin_checkpoint (8B, 8.60%) checksum 347fc8f2df71bd4436e38bd1516ccd7ea0d46532",
                     "P02 DETAIL: backup file pg-standby:/var/lib/postgresql/15/demo/base/5/1249 (456KB, 39.24%) checksum 526248954c7117f120f776739fc3d5d9dd0de432",
                     "P03 DETAIL: backup file pg-standby:/var/lib/postgresql/15/demo/base/5/2658 (120KB, 47.31%) checksum 2170bcd6aea2825c12dab92a1b3628e9036e3d54",
                     "       [filtered 1273 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo stop"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 15 demo stop"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres /usr/lib/postgresql/16/bin/initdb \\",
                     "    -D /var/lib/postgresql/16/demo -k -A peer"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_createcluster 16 demo"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sh -c 'cd /var/lib/postgresql && \\",
                     "    /usr/lib/postgresql/16/bin/pg_upgrade \\",
                     "    --old-bindir=/usr/lib/postgresql/15/bin \\",
                     "    --new-bindir=/usr/lib/postgresql/16/bin \\",
                     "    --old-datadir=/var/lib/postgresql/15/demo \\",
                     "    --new-datadir=/var/lib/postgresql/16/demo \\",
                     "    --old-options=\" -c config_file=/etc/postgresql/15/demo/postgresql.conf\" \\",
                     "    --new-options=\" -c config_file=/etc/postgresql/16/demo/postgresql.conf\"'"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "Upgrade Complete"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 42 lines of output]",
                     "Checking for extension updates                                ok",
                     "",
                     "Upgrade Complete",
                     "----------------",
                     "Optimizer statistics are not transferred by pg_upgrade.",
                     "       [filtered 3 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "cat /root/postgresql.common.conf >> /etc/postgresql/16/demo/postgresql.conf"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/postgresql/16/demo/postgresql.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "archive_command" : {
                        "value" : "'pgbackrest --stanza=demo archive-push %p'"
                     },
                     "archive_mode" : {
                        "value" : "on"
                     },
                     "max_wal_senders" : {
                        "value" : "3"
                     },
                     "wal_level" : {
                        "value" : "replica"
                     }
                  }
               },
               "type" : "cfg-postgresql",
               "value" : {
                  "config" : [
                     "archive_command = 'pgbackrest --stanza=demo archive-push %p'",
                     "archive_mode = on",
                     "max_wal_senders = 3",
                     "wal_level = replica"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "demo" : {
                        "pg1-path" : {
                           "value" : "/var/lib/postgresql/16/demo"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/16/demo",
                     "",
                     "[global]",
                     "archive-async=y",
                     "log-level-file=detail",
                     "repo1-host=repository",
                     "spool-path=/var/spool/pgbackrest",
                     "",
                     "[global:archive-get]",
                     "process-max=2",
                     "",
                     "[global:archive-push]",
                     "process-max=2"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-standby",
                  "option" : {
                     "demo" : {
                        "pg1-path" : {
                           "value" : "/var/lib/postgresql/16/demo"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/postgresql/16/demo",
                     "recovery-option=primary_conninfo=host=172.17.0.6 port=5432 user=replicator",
                     "",
                     "[global]",
                     "archive-async=y",
                     "log-level-file=detail",
                     "repo1-host=repository",
                     "spool-path=/var/spool/pgbackrest",
                     "",
                     "[global:archive-get]",
                     "process-max=2",
                     "",
                     "[global:archive-push]",
                     "process-max=2"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "repository",
                  "option" : {
                     "demo" : {
                        "pg1-path" : {
                           "value" : "/var/lib/postgresql/16/demo"
                        },
                        "pg2-path" : {
                           "value" : "/var/lib/postgresql/16/demo"
                        }
                     },
                     "global" : {
                        "backup-standby" : {
                           "value" : "n"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-host=pg-primary",
                     "pg1-path=/var/lib/postgresql/16/demo",
                     "pg2-host=pg-standby",
                     "pg2-path=/var/lib/postgresql/16/demo",
                     "",
                     "[demo-alt]",
                     "pg1-host=pg-alt",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "backup-standby=n",
                     "process-max=3",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo cp /etc/postgresql/15/demo/pg_hba.conf \\",
                     "    /etc/postgresql/16/demo/pg_hba.conf"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --no-online \\",
                     "    --log-level-console=info stanza-upgrade"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: stanza-upgrade command begin 2.49: --exec-id=2891-29bed7ab --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --no-online --pg1-path=/var/lib/postgresql/16/demo --repo1-host=repository --stanza=demo",
                     "P00   INFO: stanza-upgrade for stanza 'demo' on repo1",
                     "P00   INFO: stanza-upgrade command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 16 demo start"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pg_lsclusters"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo check"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_dropcluster 15 demo"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_dropcluster 15 demo"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_createcluster 16 demo"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo check"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   WARN: unable to check pg2: [DbConnectError] raised from remote-0 ssh protocol on 'pg-standby': unable to connect to 'dbname='postgres' port=5432': connection to server on socket \"/var/run/postgresql/.s.PGSQL.5432\" failed: No such file or directory",
                     "            \tIs the server running locally and accepting connections on that socket?"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo --type=full backup"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --delta --type=standby restore"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/postgresql/16/demo/postgresql.conf",
                  "host" : "pg-standby",
                  "option" : {
                     "hot_standby" : {
                        "value" : "on"
                     }
                  }
               },
               "type" : "cfg-postgresql",
               "value" : {
                  "config" : [
                     "hot_standby = on"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo pg_ctlcluster 16 demo start"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo check"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "repository",
                  "option" : {
                     "global" : {
                        "backup-standby" : {
                           "value" : "y"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-host=pg-primary",
                     "pg1-path=/var/lib/postgresql/16/demo",
                     "pg2-host=pg-standby",
                     "pg2-path=/var/lib/postgresql/16/demo",
                     "",
                     "[demo-alt]",
                     "pg1-host=pg-alt",
                     "pg1-path=/var/lib/postgresql/15/demo",
                     "",
                     "[global]",
                     "backup-standby=y",
                     "process-max=3",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y"
                  ]
               }
            }
         ]
      }
   },
   "{\"os-type\":\"rhel\"}" : {
      "all" : {
         "user-guide" : [
            {
               "key" : {
                  "id" : "azure",
                  "image" : "mcr.microsoft.com/azure-storage/azurite",
                  "name" : "azure-server",
                  "option" : "-v {[host-repo-path]}/doc/resource/fake-cert/azure-server.crt:/root/public.crt:ro -v {[host-repo-path]}/doc/resource/fake-cert/azure-server.key:/root/private.key:ro -e AZURITE_ACCOUNTS='pgbackrest:YXpLZXk='",
                  "os" : "rhel",
                  "param" : "azurite-blob --blobPort 443 --blobHost 0.0.0.0 --cert=/root/public.crt --key=/root/private.key",
                  "update-hosts" : false
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.2"
               }
            },
            {
               "key" : {
                  "id" : "s3",
                  "image" : "minio/minio:RELEASE.2023-09-30T07-02-29Z",
                  "name" : "s3-server",
                  "option" : "-v {[host-repo-path]}/doc/resource/fake-cert/s3-server.crt:/root/.minio/certs/public.crt:ro -v {[host-repo-path]}/doc/resource/fake-cert/s3-server.key:/root/.minio/certs/private.key:ro -e MINIO_REGION=us-east-1 -e MINIO_DOMAIN=s3.us-east-1.amazonaws.com -e MINIO_BROWSER=off -e MINIO_ACCESS_KEY=accessKey1 -e MINIO_SECRET_KEY=verySecretKey1",
                  "os" : "rhel",
                  "param" : "server /data --address :443",
                  "update-hosts" : false
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.3"
               }
            },
            {
               "key" : {
                  "id" : "sftp",
                  "image" : "pgbackrest/doc:rhel",
                  "name" : "sftp-server",
                  "option" : "-m 512m -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
                  "os" : "rhel",
                  "update-hosts" : true
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.4"
               }
            },
            {
               "key" : {
                  "id" : "build",
                  "image" : "pgbackrest/doc:rhel",
                  "name" : "build",
                  "option" : "-v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
                  "os" : "rhel",
                  "update-hosts" : true
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.5"
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /build/pgbackrest-release-2.49"
                  ],
                  "host" : "build",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo cp -r /pgbackrest/src /build/pgbackrest-release-2.49"
                  ],
                  "host" : "build",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown -R vagrant /build/pgbackrest-release-2.49"
                  ],
                  "host" : "build",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo yum install make gcc postgresql12-devel openssl-devel \\",
                     "    libxml2-devel lz4-devel libzstd-devel bzip2-devel libyaml-devel libssh2-devel"
                  ],
                  "cmd-extra" : "-y 2>&1",
                  "host" : "build",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "cd /build/pgbackrest-release-2.49/src && ./configure && make"
                  ],
                  "cmd-extra" : "-j 4",
                  "host" : "build",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "id" : "pg1",
                  "image" : "pgbackrest/doc:rhel",
                  "name" : "pg-primary",
                  "option" : "-m 512m -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
                  "os" : "rhel",
                  "update-hosts" : true
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.6"
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo yum install postgresql-libs libssh2"
                  ],
                  "cmd-extra" : "-y 2>&1",
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo scp build:/build/pgbackrest-release-2.49/src/pgbackrest /usr/bin"
                  ],
                  "cmd-extra" : "2>&1",
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 755 /usr/bin/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p -m 770 /var/log/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /var/log/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest/conf.d"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo touch /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 640 /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "pgBackRest 2.49 - General help",
                     "",
                     "Usage:",
                     "    pgbackrest [options] [command]",
                     "",
                     "Commands:",
                     "    annotate        Add or modify backup annotation.",
                     "    archive-get     Get a WAL segment from the archive.",
                     "    archive-push    Push a WAL segment to the archive.",
                     "    backup          Backup a database cluster.",
                     "    check           Check the configuration.",
                     "    expire          Expire backups that exceed retention.",
                     "    help            Get help.",
                     "    info            Retrieve information about backups.",
                     "    repo-get        Get a file from a repository.",
                     "    repo-ls         List files in a repository.",
                     "    restore         Restore a database cluster.",
                     "    server          pgBackRest server.",
                     "    server-ping     Ping pgBackRest server.",
                     "    stanza-create   Create the required stanza data.",
                     "    stanza-delete   Delete a stanza.",
                     "    stanza-upgrade  Upgrade a stanza.",
                     "    start           Allow pgBackRest processes to run.",
                     "    stop            Stop pgBackRest processes from running.",
                     "    verify          Verify contents of the repository.",
                     "    version         Get version.",
                     "",
                     "Use 'pgbackrest help [command]' for more information."
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres /usr/pgsql-12/bin/initdb \\",
                     "    -D /var/lib/pgsql/12/data -k -A peer"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "cat /root/postgresql.common.conf >> /var/lib/pgsql/12/data/postgresql.conf"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/var/lib/pgsql/12/data/postgresql.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "log_filename" : {
                        "value" : "'postgresql.log'"
                     }
                  }
               },
               "type" : "cfg-postgresql",
               "value" : {
                  "config" : [
                     "log_filename = 'postgresql.log'"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "demo" : {
                        "pg1-path" : {
                           "value" : "/var/lib/pgsql/12/data"
                        }
                     },
                     "global" : {
                        "log-level-stderr" : {
                           "value" : "off"
                        },
                        "log-timestamp" : {
                           "value" : "n"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres bash -c ' \\",
                     "    export PGBACKREST_LOG_PATH=/path/set/by/env && \\",
                     "    pgbackrest --log-level-console=error help backup log-path'"
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "current\\: \\/path\\/set\\/by\\/env"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "pgBackRest 2.49 - 'backup' command - 'log-path' option help",
                     "",
                     "Path where log files are stored.",
                     "",
                     "The log path provides a location for pgBackRest to store log files. Note that",
                     "if log-level-file=off then no log path is required.",
                     "",
                     "current: /path/set/by/env",
                     "default: /var/log/pgbackrest"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /var/lib/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 750 /var/lib/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /var/lib/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-path" : {
                           "value" : "/var/lib/pgbackrest"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "repo1-path=/var/lib/pgbackrest"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/var/lib/pgsql/12/data/postgresql.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "archive_command" : {
                        "value" : "'pgbackrest --stanza=demo archive-push %p'"
                     },
                     "archive_mode" : {
                        "value" : "on"
                     },
                     "max_wal_senders" : {
                        "value" : "3"
                     },
                     "wal_level" : {
                        "value" : "replica"
                     }
                  }
               },
               "type" : "cfg-postgresql",
               "value" : {
                  "config" : [
                     "archive_command = 'pgbackrest --stanza=demo archive-push %p'",
                     "archive_mode = on",
                     "log_filename = 'postgresql.log'",
                     "max_wal_senders = 3",
                     "wal_level = replica"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl restart postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    create or replace function create_test_table(prefix int, scale int, data bool) returns void as \\$\\$ \\",
                     "    declare \\",
                     "    index int; \\",
                     "    begin \\",
                     "    for index in 1 .. scale loop \\",
                     "    execute 'create table test_' || prefix || '_' || index || ' (id int)'; \\",
                     "     \\",
                     "    if data then \\",
                     "    execute 'insert into test_' || prefix || '_' || index || ' values (' || (prefix * index) || ')'; \\",
                     "    end if; \\",
                     "    end loop; \\",
                     "    end \\$\\$ LANGUAGE plpgsql;\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global:archive-push" : {
                        "compress-level" : {
                           "value" : "3"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "repo1-path=/var/lib/pgbackrest",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-retention-full" : {
                           "value" : "2"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-cipher-pass" : {
                           "value" : "zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO"
                        },
                        "repo1-cipher-type" : {
                           "value" : "aes-256-cbc"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-create"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: stanza-create command begin 2.49: --exec-id=1041-bceef7ab --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
                     "P00   INFO: stanza-create for stanza 'demo' on repo1",
                     "P00   INFO: stanza-create command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info check"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        " successfully archived to "
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: check command begin 2.49: --exec-id=1069-21666d1a --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
                     "P00   INFO: check repo1 configuration (primary)",
                     "P00   INFO: check repo1 archive for WAL (primary)",
                     "P00   INFO: WAL segment 000000010000000000000001 successfully archived to '/var/lib/pgbackrest/archive/demo/12-1/0000000100000000/000000010000000000000001-3e443dcecfcff8764de2ae6be77bed0ca5157e7e.gz' on repo1",
                     "P00   INFO: check command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "start-fast" : {
                           "value" : "y"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "no prior backup exists|full backup size"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: backup command begin 2.49: --exec-id=1143-6a9c202d --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --start-fast",
                     "P00   WARN: no prior backup exists, incr backup has been changed to full",
                     "P00   INFO: execute non-exclusive backup start: backup begins after the requested immediate checkpoint completes",
                     "P00   INFO: backup start archive = 000000010000000000000002, lsn = 0/2000028",
                     "       [filtered 3 lines of output]",
                     "P00   INFO: check archive for segment(s) 000000010000000000000002:000000010000000000000003",
                     "P00   INFO: new backup label = 20231127-105948F",
                     "P00   INFO: full backup size = 23.5MB, file total = 981",
                     "P00   INFO: backup command end: completed successfully",
                     "P00   INFO: expire command begin 2.49: --exec-id=1143-6a9c202d --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-105948F"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=diff \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "diff backup size"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 7 lines of output]",
                     "P00   INFO: check archive for segment(s) 000000010000000000000004:000000010000000000000005",
                     "P00   INFO: new backup label = 20231127-105948F_20231127-105951D",
                     "P00   INFO: diff backup size = 8.8KB, file total = 981",
                     "P00   INFO: backup command end: completed successfully",
                     "P00   INFO: expire command begin 2.49: --exec-id=1204-70d719ff --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest info"
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "(full|incr|diff) backup"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "stanza: demo",
                     "    status: ok",
                     "    cipher: aes-256-cbc",
                     "",
                     "    db (current)",
                     "        wal archive min/max (12): 000000010000000000000001/000000010000000000000005",
                     "",
                     "        full backup: 20231127-105948F",
                     "            timestamp start/stop: 2023-11-27 10:59:48+00 / 2023-11-27 10:59:50+00",
                     "            wal start/stop: 000000010000000000000002 / 000000010000000000000003",
                     "            database size: 23.5MB, database backup size: 23.5MB",
                     "            repo1: backup set size: 2.8MB, backup size: 2.8MB",
                     "",
                     "        diff backup: 20231127-105948F_20231127-105951D",
                     "            timestamp start/stop: 2023-11-27 10:59:51+00 / 2023-11-27 10:59:53+00",
                     "            wal start/stop: 000000010000000000000004 / 000000010000000000000005",
                     "            database size: 23.5MB, database backup size: 8.8KB",
                     "            repo1: backup set size: 2.8MB, backup size: 752B",
                     "            backup reference list: 20231127-105948F"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl stop postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres rm /var/lib/pgsql/12/data/global/pg_control"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start postgresql-12.service"
                  ],
                  "err-expect" : "1",
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl status postgresql-12.service"
                  ],
                  "err-expect" : "3",
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "Failed to start PostgreSQL"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 12 lines of output]",
                     "Nov 27 10:59:54 pg-primary systemd[1]: postgresql-12.service: Main process exited, code=exited, status=2/INVALIDARGUMENT",
                     "Nov 27 10:59:54 pg-primary systemd[1]: postgresql-12.service: Failed with result 'exit-code'.",
                     "Nov 27 10:59:54 pg-primary systemd[1]: Failed to start PostgreSQL 12 database server."
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres find /var/lib/pgsql/12/data -mindepth 1 -delete"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo restore"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres mkdir -p /var/lib/pgsql/pgbackrest/doc/example"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cp -r /pgbackrest/doc/example/* \\",
                     "    /var/lib/pgsql/pgbackrest/doc/example"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat \\",
                     "    /var/lib/pgsql/pgbackrest/doc/example/pgsql-pgbackrest-info.sql"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "-- An example of monitoring pgBackRest from within PostgreSQL",
                     "--",
                     "-- Use copy to export data from the pgBackRest info command into the jsonb",
                     "-- type so it can be queried directly by PostgreSQL.",
                     "",
                     "-- Create monitor schema",
                     "create schema monitor;",
                     "",
                     "-- Get pgBackRest info in JSON format",
                     "create function monitor.pgbackrest_info()",
                     "    returns jsonb AS $$",
                     "declare",
                     "    data jsonb;",
                     "begin",
                     "    -- Create a temp table to hold the JSON data",
                     "    create temp table temp_pgbackrest_data (data text);",
                     "",
                     "    -- Copy data into the table directly from the pgBackRest info command",
                     "    copy temp_pgbackrest_data (data)",
                     "        from program",
                     "            'pgbackrest --output=json info' (format text);",
                     "",
                     "    select replace(temp_pgbackrest_data.data, E'\\n', '\\n')::jsonb",
                     "      into data",
                     "      from temp_pgbackrest_data;",
                     "",
                     "    drop table temp_pgbackrest_data;",
                     "",
                     "    return data;",
                     "end $$ language plpgsql;"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -f \\",
                     "    /var/lib/pgsql/pgbackrest/doc/example/pgsql-pgbackrest-info.sql"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat \\",
                     "    /var/lib/pgsql/pgbackrest/doc/example/pgsql-pgbackrest-query.sql"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "-- Get last successful backup for each stanza",
                     "--",
                     "-- Requires the monitor.pgbackrest_info function.",
                     "with stanza as",
                     "(",
                     "    select data->'name' as name,",
                     "           data->'backup'->(",
                     "               jsonb_array_length(data->'backup') - 1) as last_backup,",
                     "           data->'archive'->(",
                     "               jsonb_array_length(data->'archive') - 1) as current_archive",
                     "      from jsonb_array_elements(monitor.pgbackrest_info()) as data",
                     ")",
                     "select name,",
                     "       to_timestamp(",
                     "           (last_backup->'timestamp'->>'stop')::numeric) as last_successful_backup,",
                     "       current_archive->>'max' as last_archived_wal",
                     "  from stanza;"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -f \\",
                     "    /var/lib/pgsql/pgbackrest/doc/example/pgsql-pgbackrest-query.sql"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "  name  | last_successful_backup |    last_archived_wal     ",
                     "--------+------------------------+--------------------------",
                     " \"demo\" | 2023-11-27 10:59:53+00 | 000000010000000000000005",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-bundle" : {
                           "value" : "y"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=full backup"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres find /var/lib/pgbackrest/backup/demo/latest/ -type f | wc -l"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "5"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-block" : {
                           "value" : "y"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --annotation=source=\"demo backup\" \\",
                     "    --annotation=key=value --type=full backup"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-110004F"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --set=20231127-110004F info"
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "annotation"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "stanza: demo",
                     "    status: ok",
                     "    cipher: aes-256-cbc",
                     "",
                     "    db (current)",
                     "        wal archive min/max (12): 000000020000000000000007/000000020000000000000009",
                     "",
                     "        full backup: 20231127-110004F",
                     "            timestamp start/stop: 2023-11-27 11:00:04+00 / 2023-11-27 11:00:07+00",
                     "            wal start/stop: 000000020000000000000008 / 000000020000000000000009",
                     "            lsn start/stop: 0/8000028 / 0/9000050",
                     "            database size: 23.5MB, database backup size: 23.5MB",
                     "            repo1: backup size: 2.8MB",
                     "            database list: postgres (13396)",
                     "            annotation(s)",
                     "                key: value",
                     "                source: demo backup"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --set=20231127-110004F \\",
                     "    --annotation=key= --annotation=new_key=new_value annotate"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --set=20231127-110004F info"
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "annotation"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "stanza: demo",
                     "    status: ok",
                     "    cipher: aes-256-cbc",
                     "",
                     "    db (current)",
                     "        wal archive min/max (12): 000000020000000000000007/000000020000000000000009",
                     "",
                     "        full backup: 20231127-110004F",
                     "            timestamp start/stop: 2023-11-27 11:00:04+00 / 2023-11-27 11:00:07+00",
                     "            wal start/stop: 000000020000000000000008 / 000000020000000000000009",
                     "            lsn start/stop: 0/8000028 / 0/9000050",
                     "            database size: 23.5MB, database backup size: 23.5MB",
                     "            repo1: backup size: 2.8MB",
                     "            database list: postgres (13396)",
                     "            annotation(s)",
                     "                new_key: new_value",
                     "                source: demo backup"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-retention-full" : {
                           "value" : "2"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=full \\",
                     "    --log-level-console=detail backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "archive retention on backup 20231127-105948F|remove archive"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 993 lines of output]",
                     "P00   INFO: repo1: remove expired backup 20231127-110000F",
                     "P00 DETAIL: repo1: 12-1 archive retention on backup 20231127-110004F, start = 000000020000000000000008",
                     "P00   INFO: repo1: 12-1 remove archive, start = 000000020000000000000007, stop = 000000020000000000000007",
                     "P00   INFO: expire command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-110009F"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=full \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "expire full backup set 20231127-105948F|archive retention on backup 20231127-110009F|remove archive"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 11 lines of output]",
                     "P00   INFO: repo1: expire full backup 20231127-110004F",
                     "P00   INFO: repo1: remove expired backup 20231127-110004F",
                     "P00   INFO: repo1: 12-1 remove archive, start = 000000020000000000000008, stop = 000000020000000000000009",
                     "P00   INFO: expire command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-retention-diff" : {
                           "value" : "1"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-diff=1",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=diff backup"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-110011F_20231127-110015D"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=incr backup"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=diff \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "expire diff backup set 20231127-110011F_20231127-110015D"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 10 lines of output]",
                     "P00   INFO: backup command end: completed successfully",
                     "P00   INFO: expire command begin 2.49: --exec-id=2256-f47a8907 --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-diff=1 --repo1-retention-full=2 --stanza=demo",
                     "P00   INFO: repo1: expire diff backup set 20231127-110011F_20231127-110015D, 20231127-110011F_20231127-110018I",
                     "P00   INFO: repo1: remove expired backup 20231127-110011F_20231127-110018I",
                     "P00   INFO: repo1: remove expired backup 20231127-110011F_20231127-110015D",
                     "P00   INFO: expire command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "repo1-retention-diff" : {
                           "value" : "2"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-diff=2",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-110011F_20231127-110021D"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    select pg_create_restore_point('generate WAL'); select pg_switch_wal(); \\",
                     "    select pg_create_restore_point('generate WAL'); select pg_switch_wal();\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=diff \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "new backup label"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 6 lines of output]",
                     "P00   INFO: backup stop archive = 000000020000000000000017, lsn = 0/17000088",
                     "P00   INFO: check archive for segment(s) 000000020000000000000016:000000020000000000000017",
                     "P00   INFO: new backup label = 20231127-110011F_20231127-110024D",
                     "P00   INFO: diff backup size = 10.8KB, file total = 981",
                     "P00   INFO: backup command end: completed successfully",
                     "       [filtered 2 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-110011F_20231127-110024D"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=detail \\",
                     "    --repo1-retention-archive-type=diff --repo1-retention-archive=1 expire"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "archive retention on backup 20231127-110011F_20231127-110021D|remove archive"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: expire command begin 2.49: --exec-id=2451-467af962 --log-level-console=detail --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-archive=1 --repo1-retention-archive-type=diff --repo1-retention-diff=2 --repo1-retention-full=2 --stanza=demo",
                     "P00 DETAIL: repo1: 12-1 archive retention on backup 20231127-110009F, start = 00000002000000000000000A, stop = 00000002000000000000000B",
                     "P00 DETAIL: repo1: 12-1 archive retention on backup 20231127-110011F, start = 00000002000000000000000D, stop = 00000002000000000000000D",
                     "P00 DETAIL: repo1: 12-1 archive retention on backup 20231127-110011F_20231127-110021D, start = 000000020000000000000012, stop = 000000020000000000000013",
                     "P00 DETAIL: repo1: 12-1 archive retention on backup 20231127-110011F_20231127-110024D, start = 000000020000000000000016",
                     "P00   INFO: repo1: 12-1 remove archive, start = 00000002000000000000000C, stop = 00000002000000000000000C",
                     "P00   INFO: repo1: 12-1 remove archive, start = 00000002000000000000000E, stop = 000000020000000000000011",
                     "P00   INFO: repo1: 12-1 remove archive, start = 000000020000000000000014, stop = 000000020000000000000015",
                     "P00   INFO: expire command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl stop postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --delta \\",
                     "    --log-level-console=detail restore"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "demo\\/PG_VERSION - exists and matches backup|remove invalid files|rename global\\/pg_control"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 2 lines of output]",
                     "P00 DETAIL: check '/var/lib/pgsql/12/data' exists",
                     "P00 DETAIL: remove 'global/pg_control' so cluster will not start if restore does not complete",
                     "P00   INFO: remove invalid files/links/paths from '/var/lib/pgsql/12/data'",
                     "P00 DETAIL: remove invalid file '/var/lib/pgsql/12/data/backup_label.old'",
                     "P00 DETAIL: remove invalid file '/var/lib/pgsql/12/data/base/13396/pg_internal.init'",
                     "       [filtered 1027 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"create database test1;\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "CREATE DATABASE"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"create database test2;\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "CREATE DATABASE"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"create table test1_table (id int); \\",
                     "    insert into test1_table (id) values (1);\" test1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "INSERT 0 1"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"create table test2_table (id int); \\",
                     "    insert into test2_table (id) values (2);\" test2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "INSERT 0 1"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=incr backup"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -Atc \"select oid from pg_database where datname = 'test1'\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "32768"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres du -sh /var/lib/pgsql/12/data/base/32768"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "7.8M\t/var/lib/pgsql/12/data/base/32768"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-110011F_20231127-110031I"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo \\",
                     "    --set=20231127-110011F_20231127-110031I info"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "database list"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 12 lines of output]",
                     "            repo1: backup size: 1.9MB",
                     "            backup reference list: 20231127-110011F, 20231127-110011F_20231127-110024D",
                     "            database list: postgres (13396), test1 (32768), test2 (32769)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl stop postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --delta \\",
                     "    --db-include=test2 --type=immediate --target-action=promote restore"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"select * from test2_table;\" test2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     " id ",
                     "----",
                     "  2",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"select * from test1_table;\" test1"
                  ],
                  "err-expect" : "2",
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "relation mapping file.*contains invalid data"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "psql: error: FATAL:  relation mapping file \"base/32768/pg_filenode.map\" contains invalid data"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres du -sh /var/lib/pgsql/12/data/base/32768"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "16K\t/var/lib/pgsql/12/data/base/32768"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"drop database test1;\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "DROP DATABASE"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"select oid, datname from pg_database order by oid;\""
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "test2"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "  oid  |  datname  ",
                     "-------+-----------",
                     "     1 | template1",
                     " 13395 | template0",
                     " 13396 | postgres",
                     " 32769 | test2",
                     "(4 rows)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"begin; \\",
                     "    create table important_table (message text); \\",
                     "    insert into important_table values ('Important Data'); \\",
                     "    commit; \\",
                     "    select * from important_table;\""
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "Important Data"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "    message     ",
                     "----------------",
                     " Important Data",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -Atc \"select current_timestamp\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "2023-11-27 11:00:40.152246+00"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"begin; \\",
                     "    drop table important_table; \\",
                     "    commit; \\",
                     "    select * from important_table;\""
                  ],
                  "err-expect" : "1",
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "does not exist"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "ERROR:  relation \"important_table\" does not exist",
                     "LINE 1: ...le important_table;     commit;     select * from important_...",
                     "                                                             ^"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=incr backup"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest repo-ls backup/demo --filter=\"(F|D|I)$\" --sort=desc | head -1"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "20231127-110011F_20231127-110042I"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest info"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "20231127-110011F_20231127-110042I"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 38 lines of output]",
                     "            backup reference list: 20231127-110011F, 20231127-110011F_20231127-110024D",
                     "",
                     "        incr backup: 20231127-110011F_20231127-110042I",
                     "            timestamp start/stop: 2023-11-27 11:00:42+00 / 2023-11-27 11:00:43+00",
                     "            wal start/stop: 00000004000000000000001A / 00000004000000000000001A",
                     "       [filtered 2 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl stop postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --delta \\",
                     "    --set=20231127-110011F_20231127-110042I --target-timeline=current \\",
                     "    --type=time \"--target=2023-11-27 11:00:40.152246+00\" --target-action=promote restore"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo rm /var/lib/pgsql/12/data/log/postgresql.log"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"select * from important_table\""
                  ],
                  "err-expect" : "1",
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "does not exist"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "ERROR:  relation \"important_table\" does not exist",
                     "LINE 1: select * from important_table",
                     "                      ^"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/lib/pgsql/12/data/log/postgresql.log"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "starting point-in-time recovery|consistent recovery state reached"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "LOG:  database system was interrupted; last known up at 2023-11-27 11:00:42 UTC",
                     "LOG:  starting point-in-time recovery to 2023-11-27 11:00:40.152246+00",
                     "LOG:  restored log file \"00000004.history\" from archive",
                     "LOG:  restored log file \"00000004000000000000001A\" from archive",
                     "LOG:  redo starts at 0/1A000028",
                     "LOG:  consistent recovery state reached at 0/1A000100",
                     "LOG:  database system is ready to accept read only connections",
                     "LOG:  redo done at 0/1A000100",
                     "       [filtered 6 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl stop postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --delta \\",
                     "    --type=time \"--target=2023-11-27 11:00:40.152246+00\" \\",
                     "    --target-action=promote restore"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo rm /var/lib/pgsql/12/data/log/postgresql.log"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/lib/pgsql/12/data/postgresql.auto.conf"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "recovery_target_time"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 9 lines of output]",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:00:48",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "recovery_target_time = '2023-11-27 11:00:40.152246+00'",
                     "recovery_target_action = 'promote'"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"select * from important_table\""
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "Important Data"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "    message     ",
                     "----------------",
                     " Important Data",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/lib/pgsql/12/data/log/postgresql.log"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "recovery stopping before|last completed transaction|starting point-in-time recovery"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "LOG:  database system was interrupted; last known up at 2023-11-27 11:00:31 UTC",
                     "LOG:  restored log file \"00000004.history\" from archive",
                     "LOG:  restored log file \"00000005.history\" from archive",
                     "LOG:  starting point-in-time recovery to 2023-11-27 11:00:40.152246+00",
                     "LOG:  restored log file \"00000005.history\" from archive",
                     "LOG:  restored log file \"000000040000000000000019\" from archive",
                     "       [filtered 3 lines of output]",
                     "LOG:  consistent recovery state reached at 0/19000100",
                     "LOG:  database system is ready to accept read only connections",
                     "LOG:  recovery stopping before commit of transaction 496, time 2023-11-27 11:00:41.481446+00",
                     "LOG:  redo done at 0/1901D128",
                     "LOG:  last completed transaction was at log time 2023-11-27 11:00:38.831628+00",
                     "LOG:  selected new timeline ID: 6",
                     "LOG:  archive recovery complete",
                     "LOG:  database system is ready to accept connections"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl stop postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stop"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: stop command begin 2.49: --exec-id=3855-66556bef --log-level-console=info --log-level-stderr=off --no-log-timestamp --stanza=demo",
                     "P00   INFO: stop command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --repo=1 \\",
                     "    --log-level-console=info stanza-delete"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: stanza-delete command begin 2.49: --exec-id=3882-f377a434 --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --repo=1 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
                     "P00   INFO: stanza-delete command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "process-max" : {
                           "value" : "4"
                        },
                        "repo2-azure-account" : {
                           "value" : "pgbackrest"
                        },
                        "repo2-azure-container" : {
                           "value" : "demo-container"
                        },
                        "repo2-azure-key" : {
                           "value" : "YXpLZXk="
                        },
                        "repo2-path" : {
                           "value" : "/demo-repo"
                        },
                        "repo2-retention-full" : {
                           "value" : "4"
                        },
                        "repo2-type" : {
                           "value" : "azure"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "process-max=4",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-diff=2",
                     "repo1-retention-full=2",
                     "repo2-azure-account=pgbackrest",
                     "repo2-azure-container=demo-container",
                     "repo2-azure-key=YXpLZXk=",
                     "repo2-path=/demo-repo",
                     "repo2-retention-full=4",
                     "repo2-type=azure",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "echo \"172.17.0.2 pgbackrest.blob.core.windows.net\" | tee -a /etc/hosts"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --repo=2 repo-create"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-create"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: stanza-create command begin 2.49: --exec-id=4046-1da80d75 --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --repo2-azure-account=<redacted> --repo2-azure-container=demo-container --repo2-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo2-path=/demo-repo --repo2-type=azure --stanza=demo",
                     "P00   INFO: stanza-create for stanza 'demo' on repo1",
                     "P00   INFO: stanza-create for stanza 'demo' on repo2",
                     "P00   INFO: stanza-create command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --repo=2 \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "no prior backup exists|full backup size"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: backup command begin 2.49: --exec-id=4074-eac9dc19 --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --process-max=4 --repo=2 --repo2-azure-account=<redacted> --repo2-azure-container=demo-container --repo2-azure-key=<redacted> --repo1-block --repo1-bundle --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo2-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo2-retention-full=4 --repo2-type=azure --stanza=demo --start-fast",
                     "P00   WARN: no prior backup exists, incr backup has been changed to full",
                     "P00   INFO: execute non-exclusive backup start: backup begins after the requested immediate checkpoint completes",
                     "P00   INFO: backup start archive = 00000006000000000000001B, lsn = 0/1B000028",
                     "       [filtered 3 lines of output]",
                     "P00   INFO: check archive for segment(s) 00000006000000000000001B:00000006000000000000001B",
                     "P00   INFO: new backup label = 20231127-110055F",
                     "P00   INFO: full backup size = 31.1MB, file total = 1287",
                     "P00   INFO: backup command end: completed successfully",
                     "P00   INFO: expire command begin 2.49: --exec-id=4074-eac9dc19 --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo=2 --repo2-azure-account=<redacted> --repo2-azure-container=demo-container --repo2-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo2-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo2-retention-full=4 --repo2-type=azure --stanza=demo"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "process-max" : {
                           "value" : "4"
                        },
                        "repo3-path" : {
                           "value" : "/demo-repo"
                        },
                        "repo3-retention-full" : {
                           "value" : "4"
                        },
                        "repo3-s3-bucket" : {
                           "value" : "demo-bucket"
                        },
                        "repo3-s3-endpoint" : {
                           "value" : "s3.us-east-1.amazonaws.com"
                        },
                        "repo3-s3-key" : {
                           "value" : "accessKey1"
                        },
                        "repo3-s3-key-secret" : {
                           "value" : "verySecretKey1"
                        },
                        "repo3-s3-region" : {
                           "value" : "us-east-1"
                        },
                        "repo3-type" : {
                           "value" : "s3"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "process-max=4",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-diff=2",
                     "repo1-retention-full=2",
                     "repo2-azure-account=pgbackrest",
                     "repo2-azure-container=demo-container",
                     "repo2-azure-key=YXpLZXk=",
                     "repo2-path=/demo-repo",
                     "repo2-retention-full=4",
                     "repo2-type=azure",
                     "repo3-path=/demo-repo",
                     "repo3-retention-full=4",
                     "repo3-s3-bucket=demo-bucket",
                     "repo3-s3-endpoint=s3.us-east-1.amazonaws.com",
                     "repo3-s3-key=accessKey1",
                     "repo3-s3-key-secret=verySecretKey1",
                     "repo3-s3-region=us-east-1",
                     "repo3-type=s3",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "echo \"172.17.0.3 demo-bucket.s3.us-east-1.amazonaws.com s3.us-east-1.amazonaws.com\" | tee -a /etc/hosts"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --repo=3 repo-create"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-create"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 4 lines of output]",
                     "P00   INFO: stanza 'demo' already exists on repo2 and is valid",
                     "P00   INFO: stanza-create for stanza 'demo' on repo3",
                     "P00   INFO: stanza-create command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --repo=3 \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "no prior backup exists|full backup size"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: backup command begin 2.49: --exec-id=4232-2beb205a --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --process-max=4 --repo=3 --repo2-azure-account=<redacted> --repo2-azure-container=demo-container --repo2-azure-key=<redacted> --repo1-block --repo1-bundle --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo2-path=/demo-repo --repo3-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo2-retention-full=4 --repo3-retention-full=4 --repo3-s3-bucket=demo-bucket --repo3-s3-endpoint=s3.us-east-1.amazonaws.com --repo3-s3-key=<redacted> --repo3-s3-key-secret=<redacted> --repo3-s3-region=us-east-1 --repo2-type=azure --repo3-type=s3 --stanza=demo --start-fast",
                     "P00   WARN: no prior backup exists, incr backup has been changed to full",
                     "P00   INFO: execute non-exclusive backup start: backup begins after the requested immediate checkpoint completes",
                     "P00   INFO: backup start archive = 00000006000000000000001C, lsn = 0/1C000028",
                     "       [filtered 3 lines of output]",
                     "P00   INFO: check archive for segment(s) 00000006000000000000001C:00000006000000000000001D",
                     "P00   INFO: new backup label = 20231127-110103F",
                     "P00   INFO: full backup size = 31.1MB, file total = 1287",
                     "P00   INFO: backup command end: completed successfully",
                     "P00   INFO: expire command begin 2.49: --exec-id=4232-2beb205a --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo=3 --repo2-azure-account=<redacted> --repo2-azure-container=demo-container --repo2-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo2-path=/demo-repo --repo3-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo2-retention-full=4 --repo3-retention-full=4 --repo3-s3-bucket=demo-bucket --repo3-s3-endpoint=s3.us-east-1.amazonaws.com --repo3-s3-key=<redacted> --repo3-s3-key-secret=<redacted> --repo3-s3-region=us-east-1 --repo2-type=azure --repo3-type=s3 --stanza=demo"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "process-max" : {
                           "value" : "4"
                        },
                        "repo4-bundle" : {
                           "value" : "y"
                        },
                        "repo4-path" : {
                           "value" : "/demo-repo"
                        },
                        "repo4-sftp-host" : {
                           "value" : "sftp-server"
                        },
                        "repo4-sftp-host-key-hash-type" : {
                           "value" : "sha1"
                        },
                        "repo4-sftp-host-user" : {
                           "value" : "pgbackrest"
                        },
                        "repo4-sftp-private-key-file" : {
                           "value" : "/var/lib/pgsql/.ssh/id_rsa_sftp"
                        },
                        "repo4-sftp-public-key-file" : {
                           "value" : "/var/lib/pgsql/.ssh/id_rsa_sftp.pub"
                        },
                        "repo4-type" : {
                           "value" : "sftp"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "process-max=4",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-diff=2",
                     "repo1-retention-full=2",
                     "repo2-azure-account=pgbackrest",
                     "repo2-azure-container=demo-container",
                     "repo2-azure-key=YXpLZXk=",
                     "repo2-path=/demo-repo",
                     "repo2-retention-full=4",
                     "repo2-type=azure",
                     "repo3-path=/demo-repo",
                     "repo3-retention-full=4",
                     "repo3-s3-bucket=demo-bucket",
                     "repo3-s3-endpoint=s3.us-east-1.amazonaws.com",
                     "repo3-s3-key=accessKey1",
                     "repo3-s3-key-secret=verySecretKey1",
                     "repo3-s3-region=us-east-1",
                     "repo3-type=s3",
                     "repo4-bundle=y",
                     "repo4-path=/demo-repo",
                     "repo4-sftp-host=sftp-server",
                     "repo4-sftp-host-key-hash-type=sha1",
                     "repo4-sftp-host-user=pgbackrest",
                     "repo4-sftp-private-key-file=/var/lib/pgsql/.ssh/id_rsa_sftp",
                     "repo4-sftp-public-key-file=/var/lib/pgsql/.ssh/id_rsa_sftp.pub",
                     "repo4-type=sftp",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres mkdir -m 750 -p /var/lib/pgsql/.ssh"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres ssh-keygen -f /var/lib/pgsql/.ssh/id_rsa_sftp \\",
                     "    -t rsa -b 4096 -N \"\" -m PEM"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "id -u pgbackrest > /dev/null 2>&1 || adduser -n pgbackrest"
                  ],
                  "host" : "sftp-server",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "mkdir -m 750 -p /demo-repo && chown pgbackrest /demo-repo"
                  ],
                  "host" : "sftp-server",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest mkdir -m 750 -p /home/pgbackrest/.ssh"
                  ],
                  "host" : "sftp-server",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "(sudo ssh root@pg-primary cat /var/lib/pgsql/.ssh/id_rsa_sftp.pub) | \\",
                     "    sudo -u pgbackrest tee -a /home/pgbackrest/.ssh/authorized_keys"
                  ],
                  "host" : "sftp-server",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "ssh-keyscan -H sftp-server >> /var/lib/pgsql/.ssh/known_hosts 2>/dev/null"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "postgres"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-create"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 6 lines of output]",
                     "P00   INFO: stanza 'demo' already exists on repo3 and is valid",
                     "P00   INFO: stanza-create for stanza 'demo' on repo4",
                     "P00   INFO: stanza-create command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --repo=4 \\",
                     "    --log-level-console=info backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "no prior backup exists|full backup size"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: backup command begin 2.49: --exec-id=4457-e877566a --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --process-max=4 --repo=4 --repo2-azure-account=<redacted> --repo2-azure-container=demo-container --repo2-azure-key=<redacted> --repo1-block --repo1-bundle --repo4-bundle --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo2-path=/demo-repo --repo3-path=/demo-repo --repo4-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo2-retention-full=4 --repo3-retention-full=4 --repo3-s3-bucket=demo-bucket --repo3-s3-endpoint=s3.us-east-1.amazonaws.com --repo3-s3-key=<redacted> --repo3-s3-key-secret=<redacted> --repo3-s3-region=us-east-1 --repo4-sftp-host=sftp-server --repo4-sftp-host-key-hash-type=sha1 --repo4-sftp-host-user=pgbackrest --repo4-sftp-private-key-file=/var/lib/pgsql/.ssh/id_rsa_sftp --repo4-sftp-public-key-file=/var/lib/pgsql/.ssh/id_rsa_sftp.pub --repo2-type=azure --repo3-type=s3 --repo4-type=sftp --stanza=demo --start-fast",
                     "P00   WARN: option 'repo4-retention-full' is not set for 'repo4-retention-full-type=count', the repository may run out of space",
                     "            HINT: to retain full backups indefinitely (without warning), set option 'repo4-retention-full' to the maximum.",
                     "P00   WARN: no prior backup exists, incr backup has been changed to full",
                     "P00   INFO: execute non-exclusive backup start: backup begins after the requested immediate checkpoint completes",
                     "P00   INFO: backup start archive = 00000006000000000000001F, lsn = 0/1F000028",
                     "       [filtered 3 lines of output]",
                     "P00   INFO: check archive for segment(s) 00000006000000000000001F:00000006000000000000001F",
                     "P00   INFO: new backup label = 20231127-110111F",
                     "P00   INFO: full backup size = 31.1MB, file total = 1287",
                     "P00   INFO: backup command end: completed successfully",
                     "P00   INFO: expire command begin 2.49: --exec-id=4457-e877566a --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo=4 --repo2-azure-account=<redacted> --repo2-azure-container=demo-container --repo2-azure-key=<redacted> --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo2-path=/demo-repo --repo3-path=/demo-repo --repo4-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo2-retention-full=4 --repo3-retention-full=4 --repo3-s3-bucket=demo-bucket --repo3-s3-endpoint=s3.us-east-1.amazonaws.com --repo3-s3-key=<redacted> --repo3-s3-key-secret=<redacted> --repo3-s3-region=us-east-1 --repo4-sftp-host=sftp-server --repo4-sftp-host-key-hash-type=sha1 --repo4-sftp-host-user=pgbackrest --repo4-sftp-private-key-file=/var/lib/pgsql/.ssh/id_rsa_sftp --repo4-sftp-public-key-file=/var/lib/pgsql/.ssh/id_rsa_sftp.pub --repo2-type=azure --repo3-type=s3 --repo4-type=sftp --stanza=demo",
                     "P00   INFO: expire command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "process-max" : {
                           "value" : "4"
                        },
                        "repo5-gcs-bucket" : {
                           "value" : "demo-bucket"
                        },
                        "repo5-gcs-key" : {
                           "value" : "/etc/pgbackrest/gcs-key.json"
                        },
                        "repo5-path" : {
                           "value" : "/demo-repo"
                        },
                        "repo5-type" : {
                           "value" : "gcs"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "process-max=4",
                     "repo1-block=y",
                     "repo1-bundle=y",
                     "repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
                     "repo1-cipher-type=aes-256-cbc",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-diff=2",
                     "repo1-retention-full=2",
                     "repo2-azure-account=pgbackrest",
                     "repo2-azure-container=demo-container",
                     "repo2-azure-key=YXpLZXk=",
                     "repo2-path=/demo-repo",
                     "repo2-retention-full=4",
                     "repo2-type=azure",
                     "repo3-path=/demo-repo",
                     "repo3-retention-full=4",
                     "repo3-s3-bucket=demo-bucket",
                     "repo3-s3-endpoint=s3.us-east-1.amazonaws.com",
                     "repo3-s3-key=accessKey1",
                     "repo3-s3-key-secret=verySecretKey1",
                     "repo3-s3-region=us-east-1",
                     "repo3-type=s3",
                     "repo4-bundle=y",
                     "repo4-path=/demo-repo",
                     "repo4-sftp-host=sftp-server",
                     "repo4-sftp-host-key-hash-type=sha1",
                     "repo4-sftp-host-user=pgbackrest",
                     "repo4-sftp-private-key-file=/var/lib/pgsql/.ssh/id_rsa_sftp",
                     "repo4-sftp-public-key-file=/var/lib/pgsql/.ssh/id_rsa_sftp.pub",
                     "repo4-type=sftp",
                     "repo5-gcs-bucket=demo-bucket",
                     "repo5-gcs-key=/etc/pgbackrest/gcs-key.json",
                     "repo5-path=/demo-repo",
                     "repo5-type=gcs",
                     "start-fast=y",
                     "",
                     "[global:archive-push]",
                     "compress-level=3"
                  ]
               }
            },
            {
               "key" : {
                  "id" : "repo1",
                  "image" : "pgbackrest/doc:rhel",
                  "name" : "repository",
                  "option" : "-m 512m -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
                  "os" : "rhel",
                  "update-hosts" : true
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.7"
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo groupadd pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo adduser -gpgbackrest -n pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo yum install postgresql-libs libssh2"
                  ],
                  "cmd-extra" : "-y 2>&1",
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo scp build:/build/pgbackrest-release-2.49/src/pgbackrest /usr/bin"
                  ],
                  "cmd-extra" : "2>&1",
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 755 /usr/bin/pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p -m 770 /var/log/pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown pgbackrest:pgbackrest /var/log/pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest/conf.d"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo touch /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 640 /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown pgbackrest:pgbackrest /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /var/lib/pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 750 /var/lib/pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown pgbackrest:pgbackrest /var/lib/pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "repository",
                  "option" : {
                     "global" : {
                        "repo1-path" : {
                           "value" : "/var/lib/pgbackrest"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[global]",
                     "repo1-path=/var/lib/pgbackrest"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "repository",
                  "option" : {
                     "demo" : {
                        "pg1-host" : {
                           "value" : "pg-primary"
                        },
                        "pg1-host-ca-file" : {
                           "value" : "/etc/pgbackrest/cert/ca.crt"
                        },
                        "pg1-host-cert-file" : {
                           "value" : "/etc/pgbackrest/cert/client.crt"
                        },
                        "pg1-host-key-file" : {
                           "value" : "/etc/pgbackrest/cert/client.key"
                        },
                        "pg1-host-type" : {
                           "value" : "tls"
                        },
                        "pg1-path" : {
                           "value" : "/var/lib/pgsql/12/data"
                        }
                     },
                     "global" : {
                        "log-level-stderr" : {
                           "value" : "off"
                        },
                        "log-timestamp" : {
                           "value" : "n"
                        },
                        "repo1-retention-full" : {
                           "value" : "2"
                        },
                        "start-fast" : {
                           "value" : "y"
                        },
                        "tls-server-address" : {
                           "value" : "*"
                        },
                        "tls-server-auth" : {
                           "value" : "pgbackrest-client=*"
                        },
                        "tls-server-ca-file" : {
                           "value" : "/etc/pgbackrest/cert/ca.crt"
                        },
                        "tls-server-cert-file" : {
                           "value" : "/etc/pgbackrest/cert/server.crt"
                        },
                        "tls-server-key-file" : {
                           "value" : "/etc/pgbackrest/cert/server.key"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-host=pg-primary",
                     "pg1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "pg1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "pg1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "pg1-host-type=tls",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "tls-server-address=*",
                     "tls-server-auth=pgbackrest-client=*",
                     "tls-server-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "tls-server-cert-file=/etc/pgbackrest/cert/server.crt",
                     "tls-server-key-file=/etc/pgbackrest/cert/server.key"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "demo" : {
                        "pg1-path" : {
                           "value" : "/var/lib/pgsql/12/data"
                        }
                     },
                     "global" : {
                        "log-level-file" : {
                           "value" : "detail"
                        },
                        "log-level-stderr" : {
                           "value" : "off"
                        },
                        "log-timestamp" : {
                           "value" : "n"
                        },
                        "repo1-host" : {
                           "value" : "repository"
                        },
                        "repo1-host-ca-file" : {
                           "value" : "/etc/pgbackrest/cert/ca.crt"
                        },
                        "repo1-host-cert-file" : {
                           "value" : "/etc/pgbackrest/cert/client.crt"
                        },
                        "repo1-host-key-file" : {
                           "value" : "/etc/pgbackrest/cert/client.key"
                        },
                        "repo1-host-type" : {
                           "value" : "tls"
                        },
                        "tls-server-address" : {
                           "value" : "*"
                        },
                        "tls-server-auth" : {
                           "value" : "pgbackrest-client=demo"
                        },
                        "tls-server-ca-file" : {
                           "value" : "/etc/pgbackrest/cert/ca.crt"
                        },
                        "tls-server-cert-file" : {
                           "value" : "/etc/pgbackrest/cert/server.crt"
                        },
                        "tls-server-key-file" : {
                           "value" : "/etc/pgbackrest/cert/server.key"
                        }
                     }
                  },
                  "reset" : true
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "log-level-file=detail",
                     "repo1-host=repository",
                     "repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "repo1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "repo1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "repo1-host-type=tls",
                     "tls-server-address=*",
                     "tls-server-auth=pgbackrest-client=demo",
                     "tls-server-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "tls-server-cert-file=/etc/pgbackrest/cert/server.crt",
                     "tls-server-key-file=/etc/pgbackrest/cert/server.key"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "mkdir -p -m 770 /etc/pgbackrest/cert && \\",
                     "    cp /pgbackrest/doc/resource/fake-cert/ca.crt \\",
                     "    /etc/pgbackrest/cert/ca.crt && \\",
                     "     \\",
                     "    openssl genrsa -out /etc/pgbackrest/cert/server.key 2048 2>&1 && \\",
                     "    chmod 600 /etc/pgbackrest/cert/server.key && \\",
                     "    openssl req -new -sha256 -nodes -out /etc/pgbackrest/cert/server.csr \\",
                     "    -key /etc/pgbackrest/cert/server.key -subj \"/CN=repository\" 2>&1 && \\",
                     "    openssl x509 -req -in /etc/pgbackrest/cert/server.csr \\",
                     "    -CA /etc/pgbackrest/cert/ca.crt \\",
                     "    -CAkey /pgbackrest/doc/resource/fake-cert/ca.key -CAcreateserial \\",
                     "    -out /etc/pgbackrest/cert/server.crt -days 9 2>&1 && \\",
                     "     \\",
                     "    openssl genrsa -out /etc/pgbackrest/cert/client.key 2048 2>&1 && \\",
                     "    chmod 600 /etc/pgbackrest/cert/client.key && \\",
                     "    openssl req -new -sha256 -nodes -out /etc/pgbackrest/cert/client.csr \\",
                     "    -key /etc/pgbackrest/cert/client.key -subj \"/CN=pgbackrest-client\" 2>&1 && \\",
                     "    openssl x509 -req -in /etc/pgbackrest/cert/client.csr \\",
                     "    -CA /etc/pgbackrest/cert/ca.crt \\",
                     "    -CAkey /pgbackrest/doc/resource/fake-cert/ca.key -CAcreateserial \\",
                     "    -out /etc/pgbackrest/cert/client.crt -days 9 2>&1 && \\",
                     "     \\",
                     "    chown -R pgbackrest /etc/pgbackrest/cert"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "echo '[Unit]' | tee /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'Description=pgBackRest Server' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'After=network.target' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'StartLimitIntervalSec=0' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '[Service]' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'Type=simple' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'Restart=always' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'RestartSec=1' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'User=pgbackrest' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecStart=/usr/bin/pgbackrest server' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecStartPost=/bin/sleep 3' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecStartPost=/bin/bash -c \"[ ! -z $MAINPID ]\"' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecReload=/bin/kill -HUP $MAINPID' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '[Install]' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'WantedBy=multi-user.target' | tee -a /etc/systemd/system/pgbackrest.service"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo cat /etc/systemd/system/pgbackrest.service"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "[Unit]",
                     "Description=pgBackRest Server",
                     "After=network.target",
                     "StartLimitIntervalSec=0",
                     "",
                     "[Service]",
                     "Type=simple",
                     "Restart=always",
                     "RestartSec=1",
                     "User=pgbackrest",
                     "ExecStart=/usr/bin/pgbackrest server",
                     "ExecStartPost=/bin/sleep 3",
                     "ExecStartPost=/bin/bash -c \"[ ! -z $MAINPID ]\"",
                     "ExecReload=/bin/kill -HUP $MAINPID",
                     "",
                     "[Install]",
                     "WantedBy=multi-user.target"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl enable pgbackrest"
                  ],
                  "cmd-extra" : "2>&1",
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start pgbackrest"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "mkdir -p -m 770 /etc/pgbackrest/cert && \\",
                     "    cp /pgbackrest/doc/resource/fake-cert/ca.crt \\",
                     "    /etc/pgbackrest/cert/ca.crt && \\",
                     "     \\",
                     "    openssl genrsa -out /etc/pgbackrest/cert/server.key 2048 2>&1 && \\",
                     "    chmod 600 /etc/pgbackrest/cert/server.key && \\",
                     "    openssl req -new -sha256 -nodes -out /etc/pgbackrest/cert/server.csr \\",
                     "    -key /etc/pgbackrest/cert/server.key -subj \"/CN=pg-primary\" 2>&1 && \\",
                     "    openssl x509 -req -in /etc/pgbackrest/cert/server.csr \\",
                     "    -CA /etc/pgbackrest/cert/ca.crt \\",
                     "    -CAkey /pgbackrest/doc/resource/fake-cert/ca.key -CAcreateserial \\",
                     "    -out /etc/pgbackrest/cert/server.crt -days 9 2>&1 && \\",
                     "     \\",
                     "    openssl genrsa -out /etc/pgbackrest/cert/client.key 2048 2>&1 && \\",
                     "    chmod 600 /etc/pgbackrest/cert/client.key && \\",
                     "    openssl req -new -sha256 -nodes -out /etc/pgbackrest/cert/client.csr \\",
                     "    -key /etc/pgbackrest/cert/client.key -subj \"/CN=pgbackrest-client\" 2>&1 && \\",
                     "    openssl x509 -req -in /etc/pgbackrest/cert/client.csr \\",
                     "    -CA /etc/pgbackrest/cert/ca.crt \\",
                     "    -CAkey /pgbackrest/doc/resource/fake-cert/ca.key -CAcreateserial \\",
                     "    -out /etc/pgbackrest/cert/client.crt -days 9 2>&1 && \\",
                     "     \\",
                     "    chown -R postgres /etc/pgbackrest/cert"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "echo '[Unit]' | tee /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'Description=pgBackRest Server' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'After=network.target' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'StartLimitIntervalSec=0' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '[Service]' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'Type=simple' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'Restart=always' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'RestartSec=1' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'User=postgres' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecStart=/usr/bin/pgbackrest server' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecStartPost=/bin/sleep 3' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecStartPost=/bin/bash -c \"[ ! -z $MAINPID ]\"' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecReload=/bin/kill -HUP $MAINPID' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '[Install]' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'WantedBy=multi-user.target' | tee -a /etc/systemd/system/pgbackrest.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo cat /etc/systemd/system/pgbackrest.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "[Unit]",
                     "Description=pgBackRest Server",
                     "After=network.target",
                     "StartLimitIntervalSec=0",
                     "",
                     "[Service]",
                     "Type=simple",
                     "Restart=always",
                     "RestartSec=1",
                     "User=postgres",
                     "ExecStart=/usr/bin/pgbackrest server",
                     "ExecStartPost=/bin/sleep 3",
                     "ExecStartPost=/bin/bash -c \"[ ! -z $MAINPID ]\"",
                     "ExecReload=/bin/kill -HUP $MAINPID",
                     "",
                     "[Install]",
                     "WantedBy=multi-user.target"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl enable pgbackrest"
                  ],
                  "cmd-extra" : "2>&1",
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo stanza-create"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo check"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo check"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo backup"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   WARN: no prior backup exists, incr backup has been changed to full"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl stop postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --delta restore"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo --type=full backup"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "repository",
                  "option" : {
                     "global" : {
                        "process-max" : {
                           "value" : "3"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-host=pg-primary",
                     "pg1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "pg1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "pg1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "pg1-host-type=tls",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "process-max=3",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "tls-server-address=*",
                     "tls-server-auth=pgbackrest-client=*",
                     "tls-server-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "tls-server-cert-file=/etc/pgbackrest/cert/server.crt",
                     "tls-server-key-file=/etc/pgbackrest/cert/server.key"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo --type=full backup"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest info"
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "timestamp start/stop"
                     ]
                  },
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "stanza: demo",
                     "    status: ok",
                     "    cipher: none",
                     "",
                     "    db (current)",
                     "        wal archive min/max (12): 000000070000000000000025/000000070000000000000027",
                     "",
                     "        full backup: 20231127-110143F",
                     "            timestamp start/stop: 2023-11-27 11:01:43+00 / 2023-11-27 11:01:46+00",
                     "            wal start/stop: 000000070000000000000025 / 000000070000000000000025",
                     "            database size: 31.1MB, database backup size: 31.1MB",
                     "            repo1: backup set size: 3.7MB, backup size: 3.7MB",
                     "",
                     "        full backup: 20231127-110148F",
                     "            timestamp start/stop: 2023-11-27 11:01:48+00 / 2023-11-27 11:01:50+00",
                     "            wal start/stop: 000000070000000000000026 / 000000070000000000000027",
                     "            database size: 31.1MB, database backup size: 31.1MB",
                     "            repo1: backup set size: 3.7MB, backup size: 3.7MB"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest stop"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo backup"
                  ],
                  "err-expect" : "56",
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "\\: stop file exists for all stanzas"
                     ]
                  },
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   WARN: unable to check pg1: [StopError] raised from remote-0 tls protocol on 'pg-primary': stop file exists for all stanzas",
                     "P00  ERROR: [056]: unable to find primary cluster - cannot proceed",
                     "            HINT: are all available clusters in recovery?"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest stop"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   WARN: stop file already exists for all stanzas"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest start"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo stop"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo backup"
                  ],
                  "err-expect" : "56",
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "\\: stop file exists for stanza demo"
                     ]
                  },
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   WARN: unable to check pg1: [StopError] raised from remote-0 tls protocol on 'pg-primary': stop file exists for stanza demo",
                     "P00  ERROR: [056]: unable to find primary cluster - cannot proceed",
                     "            HINT: are all available clusters in recovery?"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo start"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "id" : "pg2",
                  "image" : "pgbackrest/doc:rhel",
                  "name" : "pg-standby",
                  "option" : "-m 512m -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
                  "os" : "rhel",
                  "update-hosts" : true
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.8"
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo yum install postgresql-libs libssh2"
                  ],
                  "cmd-extra" : "-y 2>&1",
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo scp build:/build/pgbackrest-release-2.49/src/pgbackrest /usr/bin"
                  ],
                  "cmd-extra" : "2>&1",
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 755 /usr/bin/pgbackrest"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p -m 770 /var/log/pgbackrest"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /var/log/pgbackrest"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest/conf.d"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo touch /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 640 /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-standby",
                  "option" : {
                     "demo" : {
                        "pg1-path" : {
                           "value" : "/var/lib/pgsql/12/data"
                        }
                     },
                     "global" : {
                        "log-level-file" : {
                           "value" : "detail"
                        },
                        "log-level-stderr" : {
                           "value" : "off"
                        },
                        "log-timestamp" : {
                           "value" : "n"
                        },
                        "repo1-host" : {
                           "value" : "repository"
                        },
                        "repo1-host-ca-file" : {
                           "value" : "/etc/pgbackrest/cert/ca.crt"
                        },
                        "repo1-host-cert-file" : {
                           "value" : "/etc/pgbackrest/cert/client.crt"
                        },
                        "repo1-host-key-file" : {
                           "value" : "/etc/pgbackrest/cert/client.key"
                        },
                        "repo1-host-type" : {
                           "value" : "tls"
                        },
                        "tls-server-address" : {
                           "value" : "*"
                        },
                        "tls-server-auth" : {
                           "value" : "pgbackrest-client=demo"
                        },
                        "tls-server-ca-file" : {
                           "value" : "/etc/pgbackrest/cert/ca.crt"
                        },
                        "tls-server-cert-file" : {
                           "value" : "/etc/pgbackrest/cert/server.crt"
                        },
                        "tls-server-key-file" : {
                           "value" : "/etc/pgbackrest/cert/server.key"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "log-level-file=detail",
                     "repo1-host=repository",
                     "repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "repo1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "repo1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "repo1-host-type=tls",
                     "tls-server-address=*",
                     "tls-server-auth=pgbackrest-client=demo",
                     "tls-server-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "tls-server-cert-file=/etc/pgbackrest/cert/server.crt",
                     "tls-server-key-file=/etc/pgbackrest/cert/server.key"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "mkdir -p -m 770 /etc/pgbackrest/cert && \\",
                     "    cp /pgbackrest/doc/resource/fake-cert/ca.crt \\",
                     "    /etc/pgbackrest/cert/ca.crt && \\",
                     "     \\",
                     "    openssl genrsa -out /etc/pgbackrest/cert/server.key 2048 2>&1 && \\",
                     "    chmod 600 /etc/pgbackrest/cert/server.key && \\",
                     "    openssl req -new -sha256 -nodes -out /etc/pgbackrest/cert/server.csr \\",
                     "    -key /etc/pgbackrest/cert/server.key -subj \"/CN=pg-standby\" 2>&1 && \\",
                     "    openssl x509 -req -in /etc/pgbackrest/cert/server.csr \\",
                     "    -CA /etc/pgbackrest/cert/ca.crt \\",
                     "    -CAkey /pgbackrest/doc/resource/fake-cert/ca.key -CAcreateserial \\",
                     "    -out /etc/pgbackrest/cert/server.crt -days 9 2>&1 && \\",
                     "     \\",
                     "    openssl genrsa -out /etc/pgbackrest/cert/client.key 2048 2>&1 && \\",
                     "    chmod 600 /etc/pgbackrest/cert/client.key && \\",
                     "    openssl req -new -sha256 -nodes -out /etc/pgbackrest/cert/client.csr \\",
                     "    -key /etc/pgbackrest/cert/client.key -subj \"/CN=pgbackrest-client\" 2>&1 && \\",
                     "    openssl x509 -req -in /etc/pgbackrest/cert/client.csr \\",
                     "    -CA /etc/pgbackrest/cert/ca.crt \\",
                     "    -CAkey /pgbackrest/doc/resource/fake-cert/ca.key -CAcreateserial \\",
                     "    -out /etc/pgbackrest/cert/client.crt -days 9 2>&1 && \\",
                     "     \\",
                     "    chown -R postgres /etc/pgbackrest/cert"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "echo '[Unit]' | tee /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'Description=pgBackRest Server' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'After=network.target' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'StartLimitIntervalSec=0' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '[Service]' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'Type=simple' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'Restart=always' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'RestartSec=1' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'User=postgres' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecStart=/usr/bin/pgbackrest server' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecStartPost=/bin/sleep 3' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecStartPost=/bin/bash -c \"[ ! -z $MAINPID ]\"' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecReload=/bin/kill -HUP $MAINPID' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '[Install]' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'WantedBy=multi-user.target' | tee -a /etc/systemd/system/pgbackrest.service"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo cat /etc/systemd/system/pgbackrest.service"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "[Unit]",
                     "Description=pgBackRest Server",
                     "After=network.target",
                     "StartLimitIntervalSec=0",
                     "",
                     "[Service]",
                     "Type=simple",
                     "Restart=always",
                     "RestartSec=1",
                     "User=postgres",
                     "ExecStart=/usr/bin/pgbackrest server",
                     "ExecStartPost=/bin/sleep 3",
                     "ExecStartPost=/bin/bash -c \"[ ! -z $MAINPID ]\"",
                     "ExecReload=/bin/kill -HUP $MAINPID",
                     "",
                     "[Install]",
                     "WantedBy=multi-user.target"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl enable pgbackrest"
                  ],
                  "cmd-extra" : "2>&1",
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start pgbackrest"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres mkdir -p -m 700 /var/lib/pgsql/12/data"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=standby restore"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/lib/pgsql/12/data/postgresql.auto.conf"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "# Do not edit this file manually!",
                     "# It will be overwritten by the ALTER SYSTEM command.",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 10:59:55",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:00:27",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:00:48",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "# Removed by pgBackRest restore on 2023-11-27 11:01:40 # recovery_target_time = '2023-11-27 11:00:40.152246+00'",
                     "# Removed by pgBackRest restore on 2023-11-27 11:01:40 # recovery_target_action = 'promote'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:01:40",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:02:04",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "cat /root/postgresql.common.conf >> /var/lib/pgsql/12/data/postgresql.conf"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/var/lib/pgsql/12/data/postgresql.conf",
                  "host" : "pg-standby",
                  "option" : {
                     "archive_command" : {
                        "value" : "'pgbackrest --stanza=demo archive-push %p'"
                     },
                     "archive_mode" : {
                        "value" : "on"
                     },
                     "hot_standby" : {
                        "value" : "on"
                     },
                     "log_filename" : {
                        "value" : "'postgresql.log'"
                     },
                     "max_wal_senders" : {
                        "value" : "3"
                     },
                     "wal_level" : {
                        "value" : "replica"
                     }
                  }
               },
               "type" : "cfg-postgresql",
               "value" : {
                  "config" : [
                     "archive_command = 'pgbackrest --stanza=demo archive-push %p'",
                     "archive_mode = on",
                     "hot_standby = on",
                     "log_filename = 'postgresql.log'",
                     "max_wal_senders = 3",
                     "wal_level = replica"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo rm /var/lib/pgsql/12/data/log/postgresql.log"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start postgresql-12.service"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/lib/pgsql/12/data/log/postgresql.log"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "entering standby mode|database system is ready to accept read only connections"
                     ]
                  },
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "LOG:  database system was interrupted; last known up at 2023-11-27 11:01:48 UTC",
                     "LOG:  entering standby mode",
                     "LOG:  restored log file \"00000007.history\" from archive",
                     "LOG:  restored log file \"000000070000000000000026\" from archive",
                     "LOG:  redo starts at 0/26000028",
                     "LOG:  restored log file \"000000070000000000000027\" from archive",
                     "LOG:  consistent recovery state reached at 0/27000050",
                     "LOG:  database system is ready to accept read only connections"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    begin; \\",
                     "    create table replicated_table (message text); \\",
                     "    insert into replicated_table values ('Important Data'); \\",
                     "    commit; \\",
                     "    select * from replicated_table\";"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "Important Data"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "    message     ",
                     "----------------",
                     " Important Data",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"select * from replicated_table;\""
                  ],
                  "err-expect" : "1",
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "does not exist"
                     ]
                  },
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "ERROR:  relation \"replicated_table\" does not exist",
                     "LINE 1: select * from replicated_table;",
                     "                      ^"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"select *, current_timestamp from pg_switch_wal()\";"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     " pg_switch_wal |      current_timestamp       ",
                     "---------------+------------------------------",
                     " 0/280217D8    | 2023-11-27 11:02:08.35851+00",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    select *, current_timestamp from replicated_table\""
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "Important Data"
                     ]
                  },
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "    message     |       current_timestamp       ",
                     "----------------+-------------------------------",
                     " Important Data | 2023-11-27 11:02:10.722206+00",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info check"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "because this is a standby"
                     ]
                  },
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: check command begin 2.49: --exec-id=1265-a6ee8912 --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --repo1-host=repository --repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt --repo1-host-cert-file=/etc/pgbackrest/cert/client.crt --repo1-host-key-file=/etc/pgbackrest/cert/client.key --repo1-host-type=tls --stanza=demo",
                     "P00   INFO: check repo1 (standby)",
                     "P00   INFO: switch wal not performed because this is a standby",
                     "P00   INFO: check command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    create user replicator password 'jw8s0F4' replication\";"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "CREATE ROLE"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sh -c 'echo \\",
                     "    \"host    replication     replicator      172.17.0.8/32           md5\" \\",
                     "    >> /var/lib/pgsql/12/data/pg_hba.conf'"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl reload postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-standby",
                  "option" : {
                     "demo" : {
                        "recovery-option" : {
                           "value" : "primary_conninfo=host=172.17.0.6 port=5432 user=replicator"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "recovery-option=primary_conninfo=host=172.17.0.6 port=5432 user=replicator",
                     "",
                     "[global]",
                     "log-level-file=detail",
                     "repo1-host=repository",
                     "repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "repo1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "repo1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "repo1-host-type=tls",
                     "tls-server-address=*",
                     "tls-server-auth=pgbackrest-client=demo",
                     "tls-server-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "tls-server-cert-file=/etc/pgbackrest/cert/server.crt",
                     "tls-server-key-file=/etc/pgbackrest/cert/server.key"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sh -c 'echo \\",
                     "    \"172.17.0.6:*:replication:replicator:jw8s0F4\" \\",
                     "    >> /var/lib/pgsql/.pgpass'"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres chmod 600 /var/lib/pgsql/.pgpass"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl stop postgresql-12.service"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --delta --type=standby restore"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/lib/pgsql/12/data/postgresql.auto.conf"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "# Do not edit this file manually!",
                     "# It will be overwritten by the ALTER SYSTEM command.",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 10:59:55",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:00:27",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:00:48",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "# Removed by pgBackRest restore on 2023-11-27 11:01:40 # recovery_target_time = '2023-11-27 11:00:40.152246+00'",
                     "# Removed by pgBackRest restore on 2023-11-27 11:01:40 # recovery_target_action = 'promote'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:01:40",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
                     "",
                     "# Recovery settings generated by pgBackRest restore on 2023-11-27 11:02:13",
                     "primary_conninfo = 'host=172.17.0.6 port=5432 user=replicator'",
                     "restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/var/lib/pgsql/12/data/postgresql.conf",
                  "host" : "pg-standby",
                  "option" : {
                     "hot_standby" : {
                        "value" : "on"
                     }
                  }
               },
               "type" : "cfg-postgresql",
               "value" : {
                  "config" : [
                     "archive_command = 'pgbackrest --stanza=demo archive-push %p'",
                     "archive_mode = on",
                     "hot_standby = on",
                     "log_filename = 'postgresql.log'",
                     "max_wal_senders = 3",
                     "wal_level = replica"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo rm /var/lib/pgsql/12/data/log/postgresql.log"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start postgresql-12.service"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/lib/pgsql/12/data/log/postgresql.log"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "started streaming WAL from primary"
                     ]
                  },
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 7 lines of output]",
                     "LOG:  database system is ready to accept read only connections",
                     "LOG:  restored log file \"000000070000000000000028\" from archive",
                     "LOG:  started streaming WAL from primary at 0/29000000 on timeline 7"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    begin; \\",
                     "    create table stream_table (message text); \\",
                     "    insert into stream_table values ('Important Data'); \\",
                     "    commit; \\",
                     "    select *, current_timestamp from stream_table\";"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "Important Data"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "    message     |       current_timestamp       ",
                     "----------------+-------------------------------",
                     " Important Data | 2023-11-27 11:02:17.260168+00",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    select *, current_timestamp from stream_table\""
                  ],
                  "highlight" : {
                     "filter" : false,
                     "filter-context" : 2,
                     "list" : [
                        "Important Data"
                     ]
                  },
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "    message     |       current_timestamp       ",
                     "----------------+-------------------------------",
                     " Important Data | 2023-11-27 11:02:17.490887+00",
                     "(1 row)"
                  ]
               }
            },
            {
               "key" : {
                  "id" : "pgalt",
                  "image" : "pgbackrest/doc:rhel",
                  "name" : "pg-alt",
                  "option" : "-m 512m -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
                  "os" : "rhel",
                  "update-hosts" : true
               },
               "type" : "host",
               "value" : {
                  "ip" : "172.17.0.9"
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo yum install postgresql-libs libssh2"
                  ],
                  "cmd-extra" : "-y 2>&1",
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo scp build:/build/pgbackrest-release-2.49/src/pgbackrest /usr/bin"
                  ],
                  "cmd-extra" : "2>&1",
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 755 /usr/bin/pgbackrest"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p -m 770 /var/log/pgbackrest"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /var/log/pgbackrest"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p /etc/pgbackrest/conf.d"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo touch /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chmod 640 /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /etc/pgbackrest/pgbackrest.conf"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-alt",
                  "option" : {
                     "demo-alt" : {
                        "pg1-path" : {
                           "value" : "/var/lib/pgsql/12/data"
                        }
                     },
                     "global" : {
                        "log-level-file" : {
                           "value" : "detail"
                        },
                        "log-level-stderr" : {
                           "value" : "off"
                        },
                        "log-timestamp" : {
                           "value" : "n"
                        },
                        "repo1-host" : {
                           "value" : "repository"
                        },
                        "repo1-host-ca-file" : {
                           "value" : "/etc/pgbackrest/cert/ca.crt"
                        },
                        "repo1-host-cert-file" : {
                           "value" : "/etc/pgbackrest/cert/client.crt"
                        },
                        "repo1-host-key-file" : {
                           "value" : "/etc/pgbackrest/cert/client.key"
                        },
                        "repo1-host-type" : {
                           "value" : "tls"
                        },
                        "tls-server-address" : {
                           "value" : "*"
                        },
                        "tls-server-auth" : {
                           "value" : "pgbackrest-client=demo-alt"
                        },
                        "tls-server-ca-file" : {
                           "value" : "/etc/pgbackrest/cert/ca.crt"
                        },
                        "tls-server-cert-file" : {
                           "value" : "/etc/pgbackrest/cert/server.crt"
                        },
                        "tls-server-key-file" : {
                           "value" : "/etc/pgbackrest/cert/server.key"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo-alt]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "log-level-file=detail",
                     "repo1-host=repository",
                     "repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "repo1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "repo1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "repo1-host-type=tls",
                     "tls-server-address=*",
                     "tls-server-auth=pgbackrest-client=demo-alt",
                     "tls-server-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "tls-server-cert-file=/etc/pgbackrest/cert/server.crt",
                     "tls-server-key-file=/etc/pgbackrest/cert/server.key"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "repository",
                  "option" : {
                     "demo-alt" : {
                        "pg1-host" : {
                           "value" : "pg-alt"
                        },
                        "pg1-host-ca-file" : {
                           "value" : "/etc/pgbackrest/cert/ca.crt"
                        },
                        "pg1-host-cert-file" : {
                           "value" : "/etc/pgbackrest/cert/client.crt"
                        },
                        "pg1-host-key-file" : {
                           "value" : "/etc/pgbackrest/cert/client.key"
                        },
                        "pg1-host-type" : {
                           "value" : "tls"
                        },
                        "pg1-path" : {
                           "value" : "/var/lib/pgsql/12/data"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-host=pg-primary",
                     "pg1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "pg1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "pg1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "pg1-host-type=tls",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[demo-alt]",
                     "pg1-host=pg-alt",
                     "pg1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "pg1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "pg1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "pg1-host-type=tls",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "process-max=3",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "tls-server-address=*",
                     "tls-server-auth=pgbackrest-client=*",
                     "tls-server-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "tls-server-cert-file=/etc/pgbackrest/cert/server.crt",
                     "tls-server-key-file=/etc/pgbackrest/cert/server.key"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "mkdir -p -m 770 /etc/pgbackrest/cert && \\",
                     "    cp /pgbackrest/doc/resource/fake-cert/ca.crt \\",
                     "    /etc/pgbackrest/cert/ca.crt && \\",
                     "     \\",
                     "    openssl genrsa -out /etc/pgbackrest/cert/server.key 2048 2>&1 && \\",
                     "    chmod 600 /etc/pgbackrest/cert/server.key && \\",
                     "    openssl req -new -sha256 -nodes -out /etc/pgbackrest/cert/server.csr \\",
                     "    -key /etc/pgbackrest/cert/server.key -subj \"/CN=pg-alt\" 2>&1 && \\",
                     "    openssl x509 -req -in /etc/pgbackrest/cert/server.csr \\",
                     "    -CA /etc/pgbackrest/cert/ca.crt \\",
                     "    -CAkey /pgbackrest/doc/resource/fake-cert/ca.key -CAcreateserial \\",
                     "    -out /etc/pgbackrest/cert/server.crt -days 9 2>&1 && \\",
                     "     \\",
                     "    openssl genrsa -out /etc/pgbackrest/cert/client.key 2048 2>&1 && \\",
                     "    chmod 600 /etc/pgbackrest/cert/client.key && \\",
                     "    openssl req -new -sha256 -nodes -out /etc/pgbackrest/cert/client.csr \\",
                     "    -key /etc/pgbackrest/cert/client.key -subj \"/CN=pgbackrest-client\" 2>&1 && \\",
                     "    openssl x509 -req -in /etc/pgbackrest/cert/client.csr \\",
                     "    -CA /etc/pgbackrest/cert/ca.crt \\",
                     "    -CAkey /pgbackrest/doc/resource/fake-cert/ca.key -CAcreateserial \\",
                     "    -out /etc/pgbackrest/cert/client.crt -days 9 2>&1 && \\",
                     "     \\",
                     "    chown -R postgres /etc/pgbackrest/cert"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "echo '[Unit]' | tee /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'Description=pgBackRest Server' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'After=network.target' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'StartLimitIntervalSec=0' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '[Service]' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'Type=simple' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'Restart=always' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'RestartSec=1' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'User=postgres' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecStart=/usr/bin/pgbackrest server' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecStartPost=/bin/sleep 3' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecStartPost=/bin/bash -c \"[ ! -z $MAINPID ]\"' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'ExecReload=/bin/kill -HUP $MAINPID' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo '[Install]' | tee -a /etc/systemd/system/pgbackrest.service && \\",
                     "    echo 'WantedBy=multi-user.target' | tee -a /etc/systemd/system/pgbackrest.service"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo cat /etc/systemd/system/pgbackrest.service"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "[Unit]",
                     "Description=pgBackRest Server",
                     "After=network.target",
                     "StartLimitIntervalSec=0",
                     "",
                     "[Service]",
                     "Type=simple",
                     "Restart=always",
                     "RestartSec=1",
                     "User=postgres",
                     "ExecStart=/usr/bin/pgbackrest server",
                     "ExecStartPost=/bin/sleep 3",
                     "ExecStartPost=/bin/bash -c \"[ ! -z $MAINPID ]\"",
                     "ExecReload=/bin/kill -HUP $MAINPID",
                     "",
                     "[Install]",
                     "WantedBy=multi-user.target"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl enable pgbackrest"
                  ],
                  "cmd-extra" : "2>&1",
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start pgbackrest"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres /usr/pgsql-12/bin/initdb \\",
                     "    -D /var/lib/pgsql/12/data -k -A peer"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "cat /root/postgresql.common.conf >> /var/lib/pgsql/12/data/postgresql.conf"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/var/lib/pgsql/12/data/postgresql.conf",
                  "host" : "pg-alt",
                  "option" : {
                     "archive_command" : {
                        "value" : "'pgbackrest --stanza=demo-alt archive-push %p'"
                     },
                     "archive_mode" : {
                        "value" : "on"
                     },
                     "log_filename" : {
                        "value" : "'postgresql.log'"
                     },
                     "max_wal_senders" : {
                        "value" : "3"
                     },
                     "wal_level" : {
                        "value" : "replica"
                     }
                  }
               },
               "type" : "cfg-postgresql",
               "value" : {
                  "config" : [
                     "archive_command = 'pgbackrest --stanza=demo-alt archive-push %p'",
                     "archive_mode = on",
                     "log_filename = 'postgresql.log'",
                     "max_wal_senders = 3",
                     "wal_level = replica"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl restart postgresql-12.service"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo-alt --log-level-console=info stanza-create"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: stanza-create command begin 2.49: --exec-id=859-bd6ac75e --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --repo1-host=repository --repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt --repo1-host-cert-file=/etc/pgbackrest/cert/client.crt --repo1-host-key-file=/etc/pgbackrest/cert/client.key --repo1-host-type=tls --stanza=demo-alt",
                     "P00   INFO: stanza-create for stanza 'demo-alt' on repo1",
                     "P00   INFO: stanza-create command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --log-level-console=info check"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "check stanza | successfully archived to "
                     ]
                  },
                  "host" : "pg-alt",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: check command begin 2.49: --exec-id=888-a290db11 --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --repo1-host=repository --repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt --repo1-host-cert-file=/etc/pgbackrest/cert/client.crt --repo1-host-key-file=/etc/pgbackrest/cert/client.key --repo1-host-type=tls",
                     "P00   INFO: check stanza 'demo-alt'",
                     "P00   INFO: check repo1 configuration (primary)",
                     "P00   INFO: check repo1 archive for WAL (primary)",
                     "P00   INFO: WAL segment 000000010000000000000001 successfully archived to '/var/lib/pgbackrest/archive/demo-alt/12-1/0000000100000000/000000010000000000000001-801667d1c0b165054a24043b5461204d3a68848e.gz' on repo1",
                     "P00   INFO: check command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --log-level-console=info check"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "check stanza | successfully archived to "
                     ]
                  },
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: check command begin 2.49: --exec-id=1251-4c0a2fcc --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-path=/var/lib/pgbackrest",
                     "P00   INFO: check stanza 'demo'",
                     "P00   INFO: check repo1 configuration (primary)",
                     "P00   INFO: check repo1 archive for WAL (primary)",
                     "P00   INFO: WAL segment 000000070000000000000029 successfully archived to '/var/lib/pgbackrest/archive/demo/12-1/0000000700000000/000000070000000000000029-eba1a7ea1fd92e822a65ed377bc6e311f7475630.gz' on repo1",
                     "P00   INFO: check stanza 'demo-alt'",
                     "P00   INFO: check repo1 configuration (primary)",
                     "P00   INFO: check repo1 archive for WAL (primary)",
                     "P00   INFO: WAL segment 000000010000000000000002 successfully archived to '/var/lib/pgbackrest/archive/demo-alt/12-1/0000000100000000/000000010000000000000002-47722c7a3c381f5d8b08e16062516408cef4940d.gz' on repo1",
                     "P00   INFO: check command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p -m 750 /var/spool/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /var/spool/pgbackrest"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo mkdir -p -m 750 /var/spool/pgbackrest"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo chown postgres:postgres /var/spool/pgbackrest"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "global" : {
                        "archive-async" : {
                           "value" : "y"
                        },
                        "spool-path" : {
                           "value" : "/var/spool/pgbackrest"
                        }
                     },
                     "global:archive-get" : {
                        "process-max" : {
                           "value" : "2"
                        }
                     },
                     "global:archive-push" : {
                        "process-max" : {
                           "value" : "2"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "archive-async=y",
                     "log-level-file=detail",
                     "repo1-host=repository",
                     "repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "repo1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "repo1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "repo1-host-type=tls",
                     "spool-path=/var/spool/pgbackrest",
                     "tls-server-address=*",
                     "tls-server-auth=pgbackrest-client=demo",
                     "tls-server-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "tls-server-cert-file=/etc/pgbackrest/cert/server.crt",
                     "tls-server-key-file=/etc/pgbackrest/cert/server.key",
                     "",
                     "[global:archive-get]",
                     "process-max=2",
                     "",
                     "[global:archive-push]",
                     "process-max=2"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-standby",
                  "option" : {
                     "global" : {
                        "archive-async" : {
                           "value" : "y"
                        },
                        "spool-path" : {
                           "value" : "/var/spool/pgbackrest"
                        }
                     },
                     "global:archive-get" : {
                        "process-max" : {
                           "value" : "2"
                        }
                     },
                     "global:archive-push" : {
                        "process-max" : {
                           "value" : "2"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "recovery-option=primary_conninfo=host=172.17.0.6 port=5432 user=replicator",
                     "",
                     "[global]",
                     "archive-async=y",
                     "log-level-file=detail",
                     "repo1-host=repository",
                     "repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "repo1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "repo1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "repo1-host-type=tls",
                     "spool-path=/var/spool/pgbackrest",
                     "tls-server-address=*",
                     "tls-server-auth=pgbackrest-client=demo",
                     "tls-server-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "tls-server-cert-file=/etc/pgbackrest/cert/server.crt",
                     "tls-server-key-file=/etc/pgbackrest/cert/server.key",
                     "",
                     "[global:archive-get]",
                     "process-max=2",
                     "",
                     "[global:archive-push]",
                     "process-max=2"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"alter user replicator password 'bogus'\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "ALTER ROLE"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl restart postgresql-12.service"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres rm -f /var/log/pgbackrest/demo-archive-push-async.log"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \" \\",
                     "    select pg_create_restore_point('test async push'); select pg_switch_wal(); \\",
                     "    select pg_create_restore_point('test async push'); select pg_switch_wal(); \\",
                     "    select pg_create_restore_point('test async push'); select pg_switch_wal(); \\",
                     "    select pg_create_restore_point('test async push'); select pg_switch_wal(); \\",
                     "    select pg_create_restore_point('test async push'); select pg_switch_wal();\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info check"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "WAL segment"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: check command begin 2.49: --exec-id=5520-9d1310bf --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --repo1-host=repository --repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt --repo1-host-cert-file=/etc/pgbackrest/cert/client.crt --repo1-host-key-file=/etc/pgbackrest/cert/client.key --repo1-host-type=tls --stanza=demo",
                     "P00   INFO: check repo1 configuration (primary)",
                     "P00   INFO: check repo1 archive for WAL (primary)",
                     "P00   INFO: WAL segment 00000007000000000000002F successfully archived to '/var/lib/pgbackrest/archive/demo/12-1/0000000700000000/00000007000000000000002F-fc42c410e62ccb84dc5ded477340dfabdd25ae76.gz' on repo1",
                     "P00   INFO: check command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/log/pgbackrest/demo-archive-push-async.log"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        " WAL file\\(s\\) to archive|pushed WAL file \\'0000000"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "-------------------PROCESS START-------------------",
                     "P00   INFO: archive-push:async command begin 2.49: [/var/lib/pgsql/12/data/pg_wal] --archive-async --exec-id=5486-3cc758e2 --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --process-max=2 --repo1-host=repository --repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt --repo1-host-cert-file=/etc/pgbackrest/cert/client.crt --repo1-host-key-file=/etc/pgbackrest/cert/client.key --repo1-host-type=tls --spool-path=/var/spool/pgbackrest --stanza=demo",
                     "P00   INFO: push 1 WAL file(s) to archive: 00000007000000000000002A",
                     "P01 DETAIL: pushed WAL file '00000007000000000000002A' to the archive",
                     "P00 DETAIL: statistics: {\"socket.client\":{\"total\":1},\"socket.session\":{\"total\":1},\"tls.client\":{\"total\":1},\"tls.session\":{\"total\":1}}",
                     "P00   INFO: archive-push:async command end: completed successfully",
                     "",
                     "-------------------PROCESS START-------------------",
                     "P00   INFO: archive-push:async command begin 2.49: [/var/lib/pgsql/12/data/pg_wal] --archive-async --exec-id=5517-55a7951c --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --process-max=2 --repo1-host=repository --repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt --repo1-host-cert-file=/etc/pgbackrest/cert/client.crt --repo1-host-key-file=/etc/pgbackrest/cert/client.key --repo1-host-type=tls --spool-path=/var/spool/pgbackrest --stanza=demo",
                     "P00   INFO: push 4 WAL file(s) to archive: 00000007000000000000002B...00000007000000000000002E",
                     "P02 DETAIL: pushed WAL file '00000007000000000000002C' to the archive",
                     "P01 DETAIL: pushed WAL file '00000007000000000000002B' to the archive",
                     "P02 DETAIL: pushed WAL file '00000007000000000000002D' to the archive",
                     "P01 DETAIL: pushed WAL file '00000007000000000000002E' to the archive",
                     "P00 DETAIL: statistics: {\"socket.client\":{\"total\":1},\"socket.session\":{\"total\":1},\"tls.client\":{\"total\":1},\"tls.session\":{\"total\":1}}",
                     "P00   INFO: archive-push:async command end: completed successfully",
                     "",
                     "-------------------PROCESS START-------------------",
                     "P00   INFO: archive-push:async command begin 2.49: [/var/lib/pgsql/12/data/pg_wal] --archive-async --exec-id=5527-e0b00902 --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --process-max=2 --repo1-host=repository --repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt --repo1-host-cert-file=/etc/pgbackrest/cert/client.crt --repo1-host-key-file=/etc/pgbackrest/cert/client.key --repo1-host-type=tls --spool-path=/var/spool/pgbackrest --stanza=demo",
                     "P00   INFO: push 1 WAL file(s) to archive: 00000007000000000000002F",
                     "P01 DETAIL: pushed WAL file '00000007000000000000002F' to the archive",
                     "P00 DETAIL: statistics: {\"socket.client\":{\"total\":1},\"socket.session\":{\"total\":1},\"tls.client\":{\"total\":1},\"tls.session\":{\"total\":1}}",
                     "P00   INFO: archive-push:async command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 5"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres cat /var/log/pgbackrest/demo-archive-get-async.log"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "found [0-F]{24} in the .* archive"
                     ]
                  },
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "-------------------PROCESS START-------------------",
                     "P00   INFO: archive-get:async command begin 2.49: [000000070000000000000026, 000000070000000000000027, 000000070000000000000028, 000000070000000000000029, 00000007000000000000002A, 00000007000000000000002B, 00000007000000000000002C, 00000007000000000000002D] --archive-async --exec-id=1826-2d026a47 --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --process-max=2 --repo1-host=repository --repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt --repo1-host-cert-file=/etc/pgbackrest/cert/client.crt --repo1-host-key-file=/etc/pgbackrest/cert/client.key --repo1-host-type=tls --spool-path=/var/spool/pgbackrest --stanza=demo",
                     "P00   INFO: get 8 WAL file(s) from archive: 000000070000000000000026...00000007000000000000002D",
                     "P01 DETAIL: found 000000070000000000000026 in the repo1: 12-1 archive",
                     "P02 DETAIL: found 000000070000000000000027 in the repo1: 12-1 archive",
                     "P01 DETAIL: found 000000070000000000000028 in the repo1: 12-1 archive",
                     "P02 DETAIL: found 000000070000000000000029 in the repo1: 12-1 archive",
                     "P00 DETAIL: unable to find 00000007000000000000002A in the archive",
                     "P00 DETAIL: statistics: {\"socket.client\":{\"total\":1},\"socket.session\":{\"total\":1},\"tls.client\":{\"total\":1},\"tls.session\":{\"total\":1}}",
                     "       [filtered 17 lines of output]",
                     "P00   INFO: archive-get:async command begin 2.49: [00000007000000000000002A, 00000007000000000000002B, 00000007000000000000002C, 00000007000000000000002D, 00000007000000000000002E, 00000007000000000000002F, 000000070000000000000030, 000000070000000000000031] --archive-async --exec-id=1882-6b2ca3a1 --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/12/data --process-max=2 --repo1-host=repository --repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt --repo1-host-cert-file=/etc/pgbackrest/cert/client.crt --repo1-host-key-file=/etc/pgbackrest/cert/client.key --repo1-host-type=tls --spool-path=/var/spool/pgbackrest --stanza=demo",
                     "P00   INFO: get 8 WAL file(s) from archive: 00000007000000000000002A...000000070000000000000031",
                     "P02 DETAIL: found 00000007000000000000002B in the repo1: 12-1 archive",
                     "P01 DETAIL: found 00000007000000000000002A in the repo1: 12-1 archive",
                     "P02 DETAIL: found 00000007000000000000002C in the repo1: 12-1 archive",
                     "P01 DETAIL: found 00000007000000000000002D in the repo1: 12-1 archive",
                     "P02 DETAIL: found 00000007000000000000002E in the repo1: 12-1 archive",
                     "P01 DETAIL: found 00000007000000000000002F in the repo1: 12-1 archive",
                     "P00 DETAIL: unable to find 000000070000000000000030 in the archive",
                     "P00 DETAIL: statistics: {\"socket.client\":{\"total\":1},\"socket.session\":{\"total\":1},\"tls.client\":{\"total\":1},\"tls.session\":{\"total\":1}}",
                     "       [filtered 14 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres psql -c \"alter user replicator password 'jw8s0F4'\""
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "ALTER ROLE"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "repository",
                  "option" : {
                     "demo" : {
                        "pg2-host" : {
                           "value" : "pg-standby"
                        },
                        "pg2-host-ca-file" : {
                           "value" : "/etc/pgbackrest/cert/ca.crt"
                        },
                        "pg2-host-cert-file" : {
                           "value" : "/etc/pgbackrest/cert/client.crt"
                        },
                        "pg2-host-key-file" : {
                           "value" : "/etc/pgbackrest/cert/client.key"
                        },
                        "pg2-host-type" : {
                           "value" : "tls"
                        },
                        "pg2-path" : {
                           "value" : "/var/lib/pgsql/12/data"
                        }
                     },
                     "global" : {
                        "backup-standby" : {
                           "value" : "y"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-host=pg-primary",
                     "pg1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "pg1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "pg1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "pg1-host-type=tls",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "pg2-host=pg-standby",
                     "pg2-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "pg2-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "pg2-host-key-file=/etc/pgbackrest/cert/client.key",
                     "pg2-host-type=tls",
                     "pg2-path=/var/lib/pgsql/12/data",
                     "",
                     "[demo-alt]",
                     "pg1-host=pg-alt",
                     "pg1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "pg1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "pg1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "pg1-host-type=tls",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "backup-standby=y",
                     "process-max=3",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "tls-server-address=*",
                     "tls-server-auth=pgbackrest-client=*",
                     "tls-server-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "tls-server-cert-file=/etc/pgbackrest/cert/server.crt",
                     "tls-server-key-file=/etc/pgbackrest/cert/server.key"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo --log-level-console=detail backup"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "backup file pg-primary|replay on the standby"
                     ]
                  },
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 2 lines of output]",
                     "P00   INFO: execute non-exclusive backup start: backup begins after the requested immediate checkpoint completes",
                     "P00   INFO: backup start archive = 000000070000000000000031, lsn = 0/31000028",
                     "P00   INFO: wait for replay on the standby to reach 0/31000028",
                     "P00   INFO: replay on the standby reached 0/31000028",
                     "P00   INFO: check archive for prior segment 000000070000000000000030",
                     "P01 DETAIL: backup file pg-primary:/var/lib/pgsql/12/data/global/pg_control (8KB, 0.34%) checksum 92389c02b11b710dd101ed4acc025a2731353d32",
                     "P02 DETAIL: backup file pg-standby:/var/lib/pgsql/12/data/base/13396/2608 (456KB, 19.77%) checksum b8a6e41d5dad306781c877be0fc6ade524b9d171",
                     "P03 DETAIL: backup file pg-standby:/var/lib/pgsql/12/data/base/13396/1249 (440KB, 38.52%) checksum 58b34f74f7c66922e3b8de566b8b4aeebb9c8775",
                     "P04 DETAIL: backup file pg-standby:/var/lib/pgsql/12/data/base/13396/2674 (344KB, 53.18%) checksum 437be9641d5181d251265527b64bd243fd1e4f5f",
                     "P01 DETAIL: backup file pg-primary:/var/lib/pgsql/12/data/log/postgresql.log (6.0KB, 53.44%) checksum 2c926dc9f4e8d23eb7731019657373b11fdc95e1",
                     "P01 DETAIL: backup file pg-primary:/var/lib/pgsql/12/data/pg_hba.conf (4.5KB, 53.63%) checksum 65e54ae24bda87b2542351cb16a7fecc7e5aceeb",
                     "P01 DETAIL: backup file pg-primary:/var/lib/pgsql/12/data/current_logfiles (26B, 53.63%) checksum 78a9f5c10960f0d91fcd313937469824861795a2",
                     "P01 DETAIL: backup file pg-primary:/var/lib/pgsql/12/data/pg_logical/replorigin_checkpoint (8B, 53.63%) checksum 347fc8f2df71bd4436e38bd1516ccd7ea0d46532",
                     "P02 DETAIL: backup file pg-standby:/var/lib/pgsql/12/data/base/13396/2673 (280KB, 65.56%) checksum 884b687fe4ead4d27bb1ea2ddfda8fb4ba38f1e0",
                     "P03 DETAIL: backup file pg-standby:/var/lib/pgsql/12/data/base/13396/2658 (128KB, 71.02%) checksum e78b15d596e85c6e5a0f22fdcfa3de2e0d915771",
                     "       [filtered 1294 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl stop postgresql-12.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl stop postgresql-12.service"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres /usr/pgsql-13/bin/initdb \\",
                     "    -D /var/lib/pgsql/13/data -k -A peer"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sh -c 'cd /var/lib/pgsql && \\",
                     "    /usr/pgsql-13/bin/pg_upgrade \\",
                     "    --old-bindir=/usr/pgsql-12/bin \\",
                     "    --new-bindir=/usr/pgsql-13/bin \\",
                     "    --old-datadir=/var/lib/pgsql/12/data \\",
                     "    --new-datadir=/var/lib/pgsql/13/data \\",
                     "    --old-options=\" -c config_file=/var/lib/pgsql/12/data/postgresql.conf\" \\",
                     "    --new-options=\" -c config_file=/var/lib/pgsql/13/data/postgresql.conf\"'"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "Upgrade Complete"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "       [filtered 66 lines of output]",
                     "Checking for extension updates                              ok",
                     "",
                     "Upgrade Complete",
                     "----------------",
                     "Optimizer statistics are not transferred by pg_upgrade so,",
                     "       [filtered 4 lines of output]"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "cat /root/postgresql.common.conf >> /var/lib/pgsql/13/data/postgresql.conf"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : "root"
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/var/lib/pgsql/13/data/postgresql.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "archive_command" : {
                        "value" : "'pgbackrest --stanza=demo archive-push %p'"
                     },
                     "archive_mode" : {
                        "value" : "on"
                     },
                     "log_filename" : {
                        "value" : "'postgresql.log'"
                     },
                     "max_wal_senders" : {
                        "value" : "3"
                     },
                     "wal_level" : {
                        "value" : "replica"
                     }
                  }
               },
               "type" : "cfg-postgresql",
               "value" : {
                  "config" : [
                     "archive_command = 'pgbackrest --stanza=demo archive-push %p'",
                     "archive_mode = on",
                     "log_filename = 'postgresql.log'",
                     "max_wal_senders = 3",
                     "wal_level = replica"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-primary",
                  "option" : {
                     "demo" : {
                        "pg1-path" : {
                           "value" : "/var/lib/pgsql/13/data"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/13/data",
                     "",
                     "[global]",
                     "archive-async=y",
                     "log-level-file=detail",
                     "repo1-host=repository",
                     "repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "repo1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "repo1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "repo1-host-type=tls",
                     "spool-path=/var/spool/pgbackrest",
                     "tls-server-address=*",
                     "tls-server-auth=pgbackrest-client=demo",
                     "tls-server-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "tls-server-cert-file=/etc/pgbackrest/cert/server.crt",
                     "tls-server-key-file=/etc/pgbackrest/cert/server.key",
                     "",
                     "[global:archive-get]",
                     "process-max=2",
                     "",
                     "[global:archive-push]",
                     "process-max=2"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "pg-standby",
                  "option" : {
                     "demo" : {
                        "pg1-path" : {
                           "value" : "/var/lib/pgsql/13/data"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-path=/var/lib/pgsql/13/data",
                     "recovery-option=primary_conninfo=host=172.17.0.6 port=5432 user=replicator",
                     "",
                     "[global]",
                     "archive-async=y",
                     "log-level-file=detail",
                     "repo1-host=repository",
                     "repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "repo1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "repo1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "repo1-host-type=tls",
                     "spool-path=/var/spool/pgbackrest",
                     "tls-server-address=*",
                     "tls-server-auth=pgbackrest-client=demo",
                     "tls-server-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "tls-server-cert-file=/etc/pgbackrest/cert/server.crt",
                     "tls-server-key-file=/etc/pgbackrest/cert/server.key",
                     "",
                     "[global:archive-get]",
                     "process-max=2",
                     "",
                     "[global:archive-push]",
                     "process-max=2"
                  ]
               }
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "repository",
                  "option" : {
                     "demo" : {
                        "pg1-path" : {
                           "value" : "/var/lib/pgsql/13/data"
                        },
                        "pg2-path" : {
                           "value" : "/var/lib/pgsql/13/data"
                        }
                     },
                     "global" : {
                        "backup-standby" : {
                           "value" : "n"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-host=pg-primary",
                     "pg1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "pg1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "pg1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "pg1-host-type=tls",
                     "pg1-path=/var/lib/pgsql/13/data",
                     "pg2-host=pg-standby",
                     "pg2-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "pg2-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "pg2-host-key-file=/etc/pgbackrest/cert/client.key",
                     "pg2-host-type=tls",
                     "pg2-path=/var/lib/pgsql/13/data",
                     "",
                     "[demo-alt]",
                     "pg1-host=pg-alt",
                     "pg1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "pg1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "pg1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "pg1-host-type=tls",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "backup-standby=n",
                     "process-max=3",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "tls-server-address=*",
                     "tls-server-auth=pgbackrest-client=*",
                     "tls-server-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "tls-server-cert-file=/etc/pgbackrest/cert/server.crt",
                     "tls-server-key-file=/etc/pgbackrest/cert/server.key"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo cp /var/lib/pgsql/12/data/pg_hba.conf \\",
                     "    /var/lib/pgsql/13/data/pg_hba.conf"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --no-online \\",
                     "    --log-level-console=info stanza-upgrade"
                  ],
                  "highlight" : {
                     "filter" : true,
                     "filter-context" : 2,
                     "list" : [
                        "completed successfully"
                     ]
                  },
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   INFO: stanza-upgrade command begin 2.49: --exec-id=6033-9605af9f --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --no-online --pg1-path=/var/lib/pgsql/13/data --repo1-host=repository --repo1-host-ca-file=/etc/pgbackrest/cert/ca.crt --repo1-host-cert-file=/etc/pgbackrest/cert/client.crt --repo1-host-key-file=/etc/pgbackrest/cert/client.key --repo1-host-type=tls --stanza=demo",
                     "P00   INFO: stanza-upgrade for stanza 'demo' on repo1",
                     "P00   INFO: stanza-upgrade command end: completed successfully"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start postgresql-13.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres systemctl status postgresql-13.service"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo check"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo rm -rf /var/lib/pgsql/12/data"
                  ],
                  "host" : "pg-primary",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo rm -rf /var/lib/pgsql/12/data"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres mkdir -p -m 700 /usr/pgsql-13/bin"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo check"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe",
               "value" : {
                  "output" : [
                     "P00   WARN: unable to check pg2: [DbConnectError] raised from remote-0 tls protocol on 'pg-standby': unable to connect to 'dbname='postgres' port=5432': could not connect to server: No such file or directory",
                     "            \tIs the server running locally and accepting",
                     "            \tconnections on Unix domain socket \"/var/run/postgresql/.s.PGSQL.5432\"?"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u pgbackrest pgbackrest --stanza=demo --type=full backup"
                  ],
                  "host" : "repository",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo --type=standby restore"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/var/lib/pgsql/13/data/postgresql.conf",
                  "host" : "pg-standby",
                  "option" : {
                     "hot_standby" : {
                        "value" : "on"
                     }
                  }
               },
               "type" : "cfg-postgresql",
               "value" : {
                  "config" : [
                     "hot_standby = on"
                  ]
               }
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo systemctl start postgresql-13.service"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres sleep 2"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : false,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "bash-wrap" : true,
                  "cmd" : [
                     "sudo -u postgres pgbackrest --stanza=demo check"
                  ],
                  "host" : "pg-standby",
                  "load-env" : true,
                  "output" : true,
                  "run-as-user" : null
               },
               "type" : "exe"
            },
            {
               "key" : {
                  "file" : "/etc/pgbackrest/pgbackrest.conf",
                  "host" : "repository",
                  "option" : {
                     "global" : {
                        "backup-standby" : {
                           "value" : "y"
                        }
                     }
                  }
               },
               "type" : "cfg-pgbackrest",
               "value" : {
                  "config" : [
                     "[demo]",
                     "pg1-host=pg-primary",
                     "pg1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "pg1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "pg1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "pg1-host-type=tls",
                     "pg1-path=/var/lib/pgsql/13/data",
                     "pg2-host=pg-standby",
                     "pg2-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "pg2-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "pg2-host-key-file=/etc/pgbackrest/cert/client.key",
                     "pg2-host-type=tls",
                     "pg2-path=/var/lib/pgsql/13/data",
                     "",
                     "[demo-alt]",
                     "pg1-host=pg-alt",
                     "pg1-host-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "pg1-host-cert-file=/etc/pgbackrest/cert/client.crt",
                     "pg1-host-key-file=/etc/pgbackrest/cert/client.key",
                     "pg1-host-type=tls",
                     "pg1-path=/var/lib/pgsql/12/data",
                     "",
                     "[global]",
                     "backup-standby=y",
                     "process-max=3",
                     "repo1-path=/var/lib/pgbackrest",
                     "repo1-retention-full=2",
                     "start-fast=y",
                     "tls-server-address=*",
                     "tls-server-auth=pgbackrest-client=*",
                     "tls-server-ca-file=/etc/pgbackrest/cert/ca.crt",
                     "tls-server-cert-file=/etc/pgbackrest/cert/server.crt",
                     "tls-server-key-file=/etc/pgbackrest/cert/server.key"
                  ]
               }
            }
         ]
      }
   }
}
