1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2024-12-14 10:13:05 +02:00
pgbackrest/doc/resource/exe.cache
David Steele 2358d34485 v2.23: Bug Fix
Bug Fixes:

* Fix missing files corrupting the manifest. If a file was removed by PostgreSQL during the backup (or was missing from the standby) then the next file might not be copied and updated in the manifest. If this happened then the backup would error when restored. (Reviewed by Cynthia Shang. Reported by Vitaliy Kukharik.)

Improvements:

* Use pkg-config instead of xml2-config for libxml2 build options. (Contributed by David Steele, Adrian Vondendriesch.)
* Validate checksums are set in the manifest on backup/restore. (Reviewed by Cynthia Shang.)
2020-01-26 22:38:21 -07:00

16354 lines
614 KiB
Plaintext

{
"default" : {
"all" : {
"user-guide" : [
{
"key" : {
"id" : "s3",
"image" : "minio/minio:RELEASE.2019-10-12T01-39-57Z",
"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.2"
}
},
{
"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.3"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo mkdir -p /build/pgbackrest-release-2.23"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo cp -r /pgbackrest/libc /build/pgbackrest-release-2.23"
],
"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.23"
],
"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.23"
],
"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"
],
"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.23/src && ./configure && make"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"id" : "pg1",
"image" : "pgbackrest/doc:debian",
"name" : "pg-primary",
"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.4"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo apt-get install postgresql-client libxml2"
],
"cmd-extra" : "-y 2>&1",
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/build/pgbackrest-release-2.23/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.23 - General help",
"",
"Usage:",
" pgbackrest [options] [command]",
"",
"Commands:",
" 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.",
" restore Restore a database cluster.",
" 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.",
" version Get version.",
"",
"Use 'pgbackrest help [command]' for more information."
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres /usr/lib/postgresql/10/bin/initdb \\",
" -D /var/lib/postgresql/10/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 10 demo"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"Configuring already existing cluster (configuration: /etc/postgresql/10/demo, data: /var/lib/postgresql/10/demo, owner: 106:110)",
"Ver Cluster Port Status Owner Data directory Log file",
"10 demo 5432 down postgres /var/lib/postgresql/10/demo /var/log/postgresql/postgresql-10-demo.log"
]
}
},
{
"key" : {
"file" : "/etc/postgresql/10/demo/postgresql.conf",
"host" : "pg-primary",
"option" : {
"listen_addresses" : {
"value" : "'*'"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'"
]
}
},
{
"key" : {
"file" : "/etc/postgresql/10/demo/postgresql.conf",
"host" : "pg-primary",
"option" : {
"log_line_prefix" : {
"value" : "''"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'",
"log_line_prefix = ''"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/postgresql/10/demo"
}
},
"global" : {
"log-level-stderr" : {
"value" : "off"
},
"log-timestamp" : {
"value" : "n"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/10/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.23 - '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/10/demo",
"",
"[global]",
"repo1-path=/var/lib/pgbackrest"
]
}
},
{
"key" : {
"file" : "/etc/postgresql/10/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",
"listen_addresses = '*'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"wal_level = replica"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 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" : {
"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/10/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/10/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/10/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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/10/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
"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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/10/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
"P00 INFO: WAL segment 000000010000000000000001 successfully archived to '/var/lib/pgbackrest/archive/demo/10-1/0000000100000000/000000010000000000000001-3bf020cee36e2c3532b710ef2a67f7c57405ba5f.gz'",
"P00 INFO: check command end: completed successfully"
]
}
},
{
"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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/10/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo",
"P00 WARN: no prior backup exists, incr backup has been changed to full",
"P00 INFO: execute non-exclusive pg_start_backup(): backup begins after the next regular checkpoint completes",
"P00 INFO: backup start archive = 000000010000000000000002, lsn = 0/2000028",
" [filtered 941 lines of output]",
"P01 INFO: backup file /var/lib/postgresql/10/demo/base/1/12822 (0B, 100%)",
"P01 INFO: backup file /var/lib/postgresql/10/demo/base/1/12817 (0B, 100%)",
"P00 INFO: full backup size = 22.5MB",
"P00 INFO: execute non-exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000010000000000000002, lsn = 0/2000130",
" [filtered 5 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest 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" : [
"20200127-052943F"
]
}
},
{
"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 4 lines of output]",
"P01 INFO: backup file /var/lib/postgresql/10/demo/global/pg_control (8KB, 99%) checksum a59a0592b866d121e026f52cd7fbd80d64ff697f",
"P01 INFO: backup file /var/lib/postgresql/10/demo/pg_logical/replorigin_checkpoint (8B, 100%) checksum 347fc8f2df71bd4436e38bd1516ccd7ea0d46532",
"P00 INFO: diff backup size = 8KB",
"P00 INFO: execute non-exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000010000000000000003, lsn = 0/30000F8",
" [filtered 5 lines of output]"
]
}
},
{
"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 (10-1): 000000010000000000000002/000000010000000000000003",
"",
" full backup: 20200127-052943F",
" timestamp start/stop: 2020-01-27 05:29:43 / 2020-01-27 05:29:55",
" wal start/stop: 000000010000000000000002 / 000000010000000000000002",
" database size: 22.5MB, backup size: 22.5MB",
" repository size: 2.7MB, repository backup size: 2.7MB",
"",
" diff backup: 20200127-052943F_20200127-052956D",
" timestamp start/stop: 2020-01-27 05:29:56 / 2020-01-27 05:29:58",
" wal start/stop: 000000010000000000000003 / 000000010000000000000003",
" database size: 22.5MB, backup size: 8.2KB",
" repository size: 2.7MB, repository backup size: 496B",
" backup reference list: 20200127-052943F"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 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/10/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 10 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/10/bin/pg_ctl /usr/lib/postgresql/10/bin/pg_ctl start -D /var/lib/postgresql/10/demo -l /var/log/postgresql/postgresql-10-demo.log -s -o -c config_file=\"/etc/postgresql/10/demo/postgresql.conf\" exited with status 1: ",
"postgres: could not find the database system",
"Expected to find it in the directory \"/var/lib/postgresql/10/demo\",",
"but could not open file \"/var/lib/postgresql/10/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/10/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 10 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 pgbackrest --stanza=demo --type=incr \\",
" --log-level-console=info backup"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"backup begins after the next regular checkpoint completes"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/10/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --type=incr",
"P00 INFO: last backup label = 20200127-052943F_20200127-052956D, version = 2.23",
"P00 INFO: execute non-exclusive pg_start_backup(): backup begins after the next regular checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000005, lsn = 0/5000028",
"P00 WARN: a timeline switch has occurred since the 20200127-052943F_20200127-052956D backup, enabling delta checksum",
" [filtered 9 lines of output]"
]
}
},
{
"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/10/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 --type=incr \\",
" --log-level-console=info backup"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"backup begins after the requested immediate checkpoint completes"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/10/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --start-fast --type=incr",
"P00 INFO: last backup label = 20200127-052943F_20200127-053016I, version = 2.23",
"P00 INFO: execute non-exclusive pg_start_backup(): backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000006, lsn = 0/6000028",
"P01 INFO: backup file /var/lib/postgresql/10/demo/global/pg_control (8KB, 99%) checksum 725701b00aa13aeb277911971c24a698efc75422",
" [filtered 9 lines of output]"
]
}
},
{
"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 jsonb);",
"",
" -- 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 temp_pgbackrest_data.data",
" 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\" | 2020-01-27 05:30:22+00 | 000000020000000000000006",
"(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" : [
"1580103022"
]
}
},
{
"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" : [
"\"000000020000000000000006\""
]
}
},
{
"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/10/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 --type=full \\",
" --log-level-console=detail backup"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"archive retention on backup 20200127-052943F|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 952 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.23: --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-full=2 --stanza=demo",
"P00 DETAIL: archive retention on backup 20200127-052943F, archiveId = 10-1, start = 000000010000000000000002",
"P00 DETAIL: no archive to remove, archiveId = 10-1",
"P00 INFO: expire command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest 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" : [
"20200127-053030F"
]
}
},
{
"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\\: 20200127-052943F|archive retention on backup 20200127-053030F|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 951 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.23: --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",
"P00 INFO: expire full backup set: 20200127-052943F, 20200127-052943F_20200127-052956D, 20200127-052943F_20200127-053016I, 20200127-052943F_20200127-053020I",
"P00 INFO: remove expired backup 20200127-052943F_20200127-053020I",
"P00 INFO: remove expired backup 20200127-052943F_20200127-053016I",
" [filtered 2 lines of output]"
]
}
},
{
"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/10/demo",
"",
"[global]",
"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 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" : [
"20200127-053043F_20200127-053059D"
]
}
},
{
"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: 20200127-053043F_20200127-053059D"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 11 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.23: --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: expire diff backup set: 20200127-053043F_20200127-053059D, 20200127-053043F_20200127-053102I",
"P00 INFO: remove expired backup 20200127-053043F_20200127-053102I",
"P00 INFO: remove expired backup 20200127-053043F_20200127-053059D"
]
}
},
{
"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/10/demo",
"",
"[global]",
"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 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" : [
"20200127-053043F_20200127-053105D"
]
}
},
{
"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 8 lines of output]",
"P00 INFO: backup stop archive = 00000002000000000000000F, lsn = 0/F000688",
"P00 INFO: check archive for segment(s) 00000002000000000000000F:00000002000000000000000F",
"P00 INFO: new backup label = 20200127-053043F_20200127-053110D",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.23: --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=2 --repo1-retention-full=2 --stanza=demo"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest 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" : [
"20200127-053043F_20200127-053110D"
]
}
},
{
"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 20200127-053043F_20200127-053105D|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: expire command begin 2.23: --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: archive retention on backup 20200127-053030F, archiveId = 10-1, start = 000000020000000000000008, stop = 000000020000000000000008",
"P00 DETAIL: archive retention on backup 20200127-053043F, archiveId = 10-1, start = 000000020000000000000009, stop = 000000020000000000000009",
"P00 DETAIL: archive retention on backup 20200127-053043F_20200127-053105D, archiveId = 10-1, start = 00000002000000000000000C, stop = 00000002000000000000000C",
"P00 DETAIL: archive retention on backup 20200127-053043F_20200127-053110D, archiveId = 10-1, start = 00000002000000000000000F",
"P00 DETAIL: remove archive: archiveId = 10-1, start = 00000002000000000000000A, stop = 00000002000000000000000B",
"P00 DETAIL: remove archive: archiveId = 10-1, start = 00000002000000000000000D, stop = 00000002000000000000000E",
"P00 INFO: expire command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 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/10/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/10/demo'",
"P00 DETAIL: remove invalid file '/var/lib/postgresql/10/demo/backup_label.old'",
"P00 DETAIL: remove invalid file '/var/lib/postgresql/10/demo/base/1/pg_internal.init'",
" [filtered 755 lines of output]",
"P01 DETAIL: restore file /var/lib/postgresql/10/demo/base/12979/PG_VERSION - exists and matches backup (3B, 99%) checksum 4143d3a341877154d6e95211464e1df1015b74bd",
"P01 DETAIL: restore file /var/lib/postgresql/10/demo/base/1/PG_VERSION - exists and matches backup (3B, 99%) checksum 4143d3a341877154d6e95211464e1df1015b74bd",
"P01 DETAIL: restore file /var/lib/postgresql/10/demo/PG_VERSION - exists and matches backup (3B, 100%) checksum 4143d3a341877154d6e95211464e1df1015b74bd",
"P01 DETAIL: restore file /var/lib/postgresql/10/demo/global/6100_vm - exists and is zero size (0B, 100%)",
"P01 DETAIL: restore file /var/lib/postgresql/10/demo/global/6100 - exists and is zero size (0B, 100%)",
" [filtered 232 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 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 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 -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 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" : [
"24576"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres du -sh /var/lib/postgresql/10/demo/base/24576"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"7.5M\t/var/lib/postgresql/10/demo/base/24576"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest 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" : [
"20200127-053043F_20200127-053121I"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo \\",
" --set=20200127-053043F_20200127-053121I 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 11 lines of output]",
" repository size: 4.4MB, repository backup size: 1.8MB",
" backup reference list: 20200127-053043F, 20200127-053043F_20200127-053110D",
" database list: postgres (12980), test1 (24576), test2 (24577)"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 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 restore"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 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: FATAL: relation mapping file \"base/24576/pg_filenode.map\" contains invalid data"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres du -sh /var/lib/postgresql/10/demo/base/24576"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"176K\t/var/lib/postgresql/10/demo/base/24576"
]
}
},
{
"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",
" 12979 | template0",
" 12980 | postgres",
" 24577 | test2",
"(4 rows)"
]
}
},
{
"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 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 psql -Atc \"select current_timestamp\""
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"2020-01-27 05:31:49.452678+00"
]
}
},
{
"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 pg_ctlcluster 10 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 \\",
" --type=time \"--target=2020-01-27 05:31:49.452678+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-10-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/10/demo/recovery.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" : [
"# Recovery settings generated by pgBackRest restore on 2020-01-27 05:31:51",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
"recovery_target_time = '2020-01-27 05:31:49.452678+00'",
"recovery_target_action = 'promote'"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 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-10-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 2 lines of output]",
"LOG: listening on Unix socket \"/var/run/postgresql/.s.PGSQL.5432\"",
"LOG: database system was interrupted; last known up at 2020-01-27 05:31:43 UTC",
"LOG: starting point-in-time recovery to 2020-01-27 05:31:49.452678+00",
"LOG: restored log file \"00000004.history\" from archive",
"LOG: restored log file \"000000040000000000000014\" from archive",
" [filtered 2 lines of output]",
"LOG: database system is ready to accept read only connections",
"LOG: restored log file \"000000040000000000000015\" from archive",
"LOG: recovery stopping before commit of transaction 564, time 2020-01-27 05:31:49.819256+00",
"LOG: redo done at 0/15020BF0",
"LOG: last completed transaction was at log time 2020-01-27 05:31:49.069866+00",
"LOG: selected new timeline ID: 5",
"LOG: archive recovery complete",
" [filtered 3 lines of output]"
]
}
},
{
"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 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" : [
"20200127-053043F_20200127-053142D"
]
}
},
{
"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 pg_ctlcluster 10 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 \\",
" --type=time \"--target=2020-01-27 05:31:49.452678+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-10-demo.log"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 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\""
],
"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/log/postgresql/postgresql-10-demo.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" : [
" [filtered 2 lines of output]",
"LOG: listening on Unix socket \"/var/run/postgresql/.s.PGSQL.5432\"",
"LOG: database system was interrupted; last known up at 2020-01-27 05:31:59 UTC",
"LOG: starting point-in-time recovery to 2020-01-27 05:31:49.452678+00",
"LOG: restored log file \"00000005.history\" from archive",
"LOG: restored log file \"000000050000000000000016\" from archive",
"LOG: redo starts at 0/16000028",
"LOG: consistent recovery state reached at 0/160000F8",
"LOG: database system is ready to accept read only connections",
"LOG: redo done at 0/160000F8",
" [filtered 8 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest info"
],
"highlight" : {
"filter" : false,
"filter-context" : 2,
"list" : [
"20200127-053043F_20200127-053142D"
]
},
"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 (10-1): 000000020000000000000008/000000050000000000000016",
"",
" full backup: 20200127-053030F",
" timestamp start/stop: 2020-01-27 05:30:30 / 2020-01-27 05:30:42",
" wal start/stop: 000000020000000000000008 / 000000020000000000000008",
" database size: 22.5MB, backup size: 22.5MB",
" repository size: 2.7MB, repository backup size: 2.7MB",
"",
" full backup: 20200127-053043F",
" timestamp start/stop: 2020-01-27 05:30:43 / 2020-01-27 05:30:57",
" wal start/stop: 000000020000000000000009 / 000000020000000000000009",
" database size: 22.5MB, backup size: 22.5MB",
" repository size: 2.7MB, repository backup size: 2.7MB",
"",
" diff backup: 20200127-053043F_20200127-053110D",
" timestamp start/stop: 2020-01-27 05:31:10 / 2020-01-27 05:31:12",
" wal start/stop: 00000002000000000000000F / 00000002000000000000000F",
" database size: 22.5MB, backup size: 8.2KB",
" repository size: 2.7MB, repository backup size: 496B",
" backup reference list: 20200127-053043F",
"",
" incr backup: 20200127-053043F_20200127-053121I",
" timestamp start/stop: 2020-01-27 05:31:21 / 2020-01-27 05:31:31",
" wal start/stop: 000000030000000000000011 / 000000030000000000000011",
" database size: 37.1MB, backup size: 15.1MB",
" repository size: 4.4MB, repository backup size: 1.8MB",
" backup reference list: 20200127-053043F, 20200127-053043F_20200127-053110D",
"",
" diff backup: 20200127-053043F_20200127-053142D",
" timestamp start/stop: 2020-01-27 05:31:42 / 2020-01-27 05:31:48",
" wal start/stop: 000000040000000000000014 / 000000040000000000000014",
" database size: 29.8MB, backup size: 7.8MB",
" repository size: 3.5MB, repository backup size: 948.2KB",
" backup reference list: 20200127-053043F",
"",
" incr backup: 20200127-053043F_20200127-053158I",
" timestamp start/stop: 2020-01-27 05:31:58 / 2020-01-27 05:32:00",
" wal start/stop: 000000050000000000000016 / 000000050000000000000016",
" database size: 29.8MB, backup size: 2.1MB",
" repository size: 3.5MB, repository backup size: 218.4KB",
" backup reference list: 20200127-053043F, 20200127-053043F_20200127-053142D"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 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 \\",
" --type=time \"--target=2020-01-27 05:31:49.452678+00\" \\",
" --set=20200127-053043F_20200127-053142D --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-10-demo.log"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 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-10-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 2 lines of output]",
"LOG: listening on Unix socket \"/var/run/postgresql/.s.PGSQL.5432\"",
"LOG: database system was interrupted; last known up at 2020-01-27 05:31:43 UTC",
"LOG: starting point-in-time recovery to 2020-01-27 05:31:49.452678+00",
"LOG: restored log file \"00000004.history\" from archive",
"LOG: restored log file \"000000040000000000000014\" from archive",
" [filtered 2 lines of output]",
"LOG: database system is ready to accept read only connections",
"LOG: restored log file \"000000040000000000000015\" from archive",
"LOG: recovery stopping before commit of transaction 564, time 2020-01-27 05:31:49.819256+00",
"LOG: redo done at 0/15020BF0",
"LOG: last completed transaction was at log time 2020-01-27 05:31:49.069866+00",
"LOG: restored log file \"00000005.history\" from archive",
"LOG: restored log file \"00000006.history\" from archive",
" [filtered 5 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"echo \"172.17.0.2 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" : [
"mc config host add demo https://172.17.0.2 accessKey1 verySecretKey1 --insecure"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"mc mb demo/demo-bucket --insecure"
],
"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"
},
"repo1-path" : {
"value" : "/demo-repo"
},
"repo1-s3-bucket" : {
"value" : "demo-bucket"
},
"repo1-s3-endpoint" : {
"value" : "s3.us-east-1.amazonaws.com"
},
"repo1-s3-key" : {
"value" : "accessKey1"
},
"repo1-s3-key-secret" : {
"value" : "verySecretKey1"
},
"repo1-s3-region" : {
"value" : "us-east-1"
},
"repo1-type" : {
"value" : "s3"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/10/demo",
"",
"[global]",
"process-max=4",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/demo-repo",
"repo1-retention-diff=2",
"repo1-retention-full=2",
"repo1-s3-bucket=demo-bucket",
"repo1-s3-endpoint=s3.us-east-1.amazonaws.com",
"repo1-s3-key=accessKey1",
"repo1-s3-key-secret=verySecretKey1",
"repo1-s3-region=us-east-1",
"repo1-type=s3",
"start-fast=y",
"",
"[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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/10/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/demo-repo --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.us-east-1.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --repo1-type=s3 --stanza=demo",
"P00 INFO: http statistics: objects 2, sessions 2, requests 12, retries 0, closes 0",
"P00 INFO: stanza-create command end: completed successfully"
]
}
},
{
"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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/10/demo --process-max=4 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.us-east-1.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --repo1-type=s3 --stanza=demo --start-fast",
"P00 WARN: no prior backup exists, incr backup has been changed to full",
"P00 INFO: execute non-exclusive pg_start_backup(): backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000070000000000000016, lsn = 0/16000028",
" [filtered 1238 lines of output]",
"P01 INFO: backup file /var/lib/postgresql/10/demo/base/1/12832 (0B, 100%)",
"P03 INFO: backup file /var/lib/postgresql/10/demo/base/1/12817 (0B, 100%)",
"P00 INFO: full backup size = 29.8MB",
"P00 INFO: execute non-exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000070000000000000016, lsn = 0/160000F8",
" [filtered 7 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/demo-repo --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.us-east-1.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --repo1-type=s3 --stanza=demo",
"P00 INFO: stop command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/10/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/demo-repo --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.us-east-1.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --repo1-type=s3 --stanza=demo",
"P00 INFO: http statistics: objects 2, sessions 2, requests 15, retries 0, closes 0",
"P00 INFO: stanza-delete command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 demo start"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"id" : "repo1",
"image" : "pgbackrest/doc:debian",
"name" : "repository",
"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 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"
],
"cmd-extra" : "-y 2>&1",
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/build/pgbackrest-release-2.23/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/10/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/10/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/10/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/10/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 10 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 10 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 backup"
],
"host" : "repository",
"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/10/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 (10-1): 00000008000000000000001C/00000008000000000000001D",
"",
" full backup: 20200127-053318F",
" timestamp start/stop: 2020-01-27 05:33:18 / 2020-01-27 05:33:35",
" wal start/stop: 00000008000000000000001C / 00000008000000000000001C",
" database size: 29.8MB, backup size: 29.8MB",
" repository size: 3.5MB, repository backup size: 3.5MB",
"",
" full backup: 20200127-053338F",
" timestamp start/stop: 2020-01-27 05:33:38 / 2020-01-27 05:33:45",
" wal start/stop: 00000008000000000000001D / 00000008000000000000001D",
" database size: 29.8MB, backup size: 29.8MB",
" repository size: 3.5MB, repository backup size: 3.5MB"
]
}
},
{
"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 pg-1: [StopError] raised from remote-0 protocol on 'pg-primary': stop file exists for all stanzas",
"P00 ERROR: [056]: unable to find primary cluster - cannot proceed"
]
}
},
{
"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 pg-1: [StopError] raised from remote-0 protocol on 'pg-primary': stop file exists for stanza demo",
"P00 ERROR: [056]: unable to find primary cluster - cannot proceed"
]
}
},
{
"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" : "-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"
],
"cmd-extra" : "-y 2>&1",
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/build/pgbackrest-release-2.23/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/10/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/10/demo",
"",
"[global]",
"log-level-file=detail",
"repo1-host=repository"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_createcluster 10 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/10/demo/recovery.conf"
],
"host" : "pg-standby",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"# Recovery settings generated by pgBackRest restore on 2020-01-27 05:34:13",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
"standby_mode = 'on'"
]
}
},
{
"key" : {
"file" : "/etc/postgresql/10/demo/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'"
},
"log_line_prefix" : {
"value" : "''"
},
"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'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"wal_level = replica"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo rm /var/log/postgresql/postgresql-10-demo.log"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 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-10-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 2020-01-27 05:33:38 UTC",
"LOG: entering standby mode",
"LOG: restored log file \"00000008.history\" from archive",
"LOG: restored log file \"00000008000000000000001D\" from archive",
"LOG: redo starts at 0/1D000028",
"LOG: consistent recovery state reached at 0/1D000130",
"LOG: database system is ready to accept read only connections",
"LOG: incomplete startup packet"
]
}
},
{
"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/1E02ADA0 | 2020-01-27 05:34:22.909204+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 | 2020-01-27 05:34:28.07489+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.23: --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/10/demo --repo1-host=repository --stanza=demo",
"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.6/32 md5\" \\",
" >> /etc/postgresql/10/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 10 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.4 port=5432 user=replicator"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/10/demo",
"recovery-option=primary_conninfo=host=172.17.0.4 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.4:*: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 10 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/10/demo/recovery.conf"
],
"host" : "pg-standby",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"# Recovery settings generated by pgBackRest restore on 2020-01-27 05:34:33",
"primary_conninfo = 'host=172.17.0.4 port=5432 user=replicator'",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
"standby_mode = 'on'"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo rm /var/log/postgresql/postgresql-10-demo.log"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 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-10-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: restored log file \"00000008000000000000001E\" from archive",
"LOG: incomplete startup packet",
"LOG: started streaming WAL from primary at 0/1F000000 on timeline 8"
]
}
},
{
"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 | 2020-01-27 05:34:40.517392+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 | 2020-01-27 05:34:41.120497+00",
"(1 row)"
]
}
},
{
"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/10/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/10/demo",
"recovery-option=primary_conninfo=host=172.17.0.4 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 10 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.23: --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/10/demo --repo1-host=repository --stanza=demo",
"P00 INFO: WAL segment 000000080000000000000024 successfully archived to '/var/lib/pgbackrest/archive/demo/10-1/0000000800000000/000000080000000000000024-374db1e6dd05c5048e568526913b5cc62588abad.gz'",
"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.23: [/var/lib/postgresql/10/demo/pg_wal] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/10/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 1 WAL file(s) to archive: 00000008000000000000001F",
"P01 DETAIL: pushed WAL file '00000008000000000000001F' to the archive",
"P00 INFO: archive-push:async command end: completed successfully",
"",
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push:async command begin 2.23: [/var/lib/postgresql/10/demo/pg_wal] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/10/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 4 WAL file(s) to archive: 000000080000000000000020...000000080000000000000023",
"P01 DETAIL: pushed WAL file '000000080000000000000020' to the archive",
"P02 DETAIL: pushed WAL file '000000080000000000000021' to the archive",
"P01 DETAIL: pushed WAL file '000000080000000000000022' to the archive",
"P02 DETAIL: pushed WAL file '000000080000000000000023' to the archive",
"P00 INFO: archive-push:async command end: completed successfully",
"",
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push:async command begin 2.23: [/var/lib/postgresql/10/demo/pg_wal] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/10/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 1 WAL file(s) to archive: 000000080000000000000024",
"P01 DETAIL: pushed WAL file '000000080000000000000024' 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.23: [00000008000000000000001D, 00000008000000000000001E, 00000008000000000000001F, 000000080000000000000020, 000000080000000000000021, 000000080000000000000022, 000000080000000000000023, 000000080000000000000024] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/10/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: get 8 WAL file(s) from archive: 00000008000000000000001D...000000080000000000000024",
"P01 DETAIL: found 00000008000000000000001D in the archive",
"P02 DETAIL: found 00000008000000000000001E in the archive",
"P01 DETAIL: unable to find 00000008000000000000001F in the archive",
"P02 DETAIL: unable to find 000000080000000000000020 in the archive",
" [filtered 20 lines of output]",
"P00 INFO: archive-get:async command begin 2.23: [00000008000000000000001F, 000000080000000000000020, 000000080000000000000021, 000000080000000000000022, 000000080000000000000023, 000000080000000000000024, 000000080000000000000025, 000000080000000000000026] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/10/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: get 8 WAL file(s) from archive: 00000008000000000000001F...000000080000000000000026",
"P01 DETAIL: found 00000008000000000000001F in the archive",
"P02 DETAIL: found 000000080000000000000020 in the archive",
"P01 DETAIL: found 000000080000000000000021 in the archive",
"P02 DETAIL: found 000000080000000000000022 in the archive",
"P02 DETAIL: unable to find 000000080000000000000024 in the archive",
"P02 DETAIL: unable to find 000000080000000000000025 in the archive",
"P02 DETAIL: unable to find 000000080000000000000026 in the archive",
"P01 DETAIL: found 000000080000000000000023 in the archive",
"P00 INFO: archive-get:async command end: completed successfully",
"",
" [filtered 8 lines of output]",
"P02 DETAIL: unable to find 00000008000000000000002A in the archive",
"P02 DETAIL: unable to find 00000008000000000000002B in the archive",
"P01 DETAIL: found 000000080000000000000024 in the archive",
"P00 INFO: archive-get:async command end: completed successfully"
]
}
},
{
"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/10/demo"
}
},
"global" : {
"backup-standby" : {
"value" : "y"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-path=/var/lib/postgresql/10/demo",
"pg2-host=pg-standby",
"pg2-path=/var/lib/postgresql/10/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 pg_start_backup(): backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000080000000000000026, lsn = 0/26000028",
"P00 INFO: wait for replay on the standby to reach 0/26000028",
"P00 INFO: replay on the standby reached 0/26000028",
"P01 INFO: backup file pg-primary:/var/lib/postgresql/10/demo/global/pg_control (8KB, 0%) checksum b72f3c6c8c3fb0a32af8e961163a534d27bb73ac",
"P03 INFO: backup file pg-standby:/var/lib/postgresql/10/demo/base/12980/1249 (392KB, 17%) checksum ac17093aafa9c47cf0ebeb454c2bfcfb3a2497c6",
"P04 INFO: backup file pg-standby:/var/lib/postgresql/10/demo/base/12980/2674 (368KB, 33%) checksum ab8ad0130827cd939e8fbf1f82011ce2a7f17718",
"P01 INFO: backup file pg-primary:/var/lib/postgresql/10/demo/pg_logical/replorigin_checkpoint (8B, 33%) checksum 347fc8f2df71bd4436e38bd1516ccd7ea0d46532",
"P03 INFO: backup file pg-standby:/var/lib/postgresql/10/demo/base/12980/2673 (344KB, 47%) checksum 30411d10110fc88bf27fcbf7a01c58c755824155",
"P04 INFO: backup file pg-standby:/var/lib/postgresql/10/demo/base/12980/2658 (112KB, 52%) checksum 9655d35cb511c62bb7e43ef881e5a7a553455ddc",
" [filtered 1250 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 demo stop"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 10 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/11/bin/initdb \\",
" -D /var/lib/postgresql/11/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 11 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/11/bin/pg_upgrade \\",
" --old-bindir=/usr/lib/postgresql/10/bin \\",
" --new-bindir=/usr/lib/postgresql/11/bin \\",
" --old-datadir=/var/lib/postgresql/10/demo \\",
" --new-datadir=/var/lib/postgresql/11/demo \\",
" --old-options=\" -c config_file=/etc/postgresql/10/demo/postgresql.conf\" \\",
" --new-options=\" -c config_file=/etc/postgresql/11/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 68 lines of output]",
"Creating script to delete old cluster ok",
"",
"Upgrade Complete",
"----------------",
"Optimizer statistics are not transferred by pg_upgrade so,",
" [filtered 4 lines of output]"
]
}
},
{
"key" : {
"file" : "/etc/postgresql/11/demo/postgresql.conf",
"host" : "pg-primary",
"option" : {
"archive_command" : {
"value" : "'pgbackrest --stanza=demo archive-push %p'"
},
"archive_mode" : {
"value" : "on"
},
"listen_addresses" : {
"value" : "'*'"
},
"log_line_prefix" : {
"value" : "''"
},
"max_wal_senders" : {
"value" : "3"
},
"port" : {
"value" : "5432"
},
"wal_level" : {
"value" : "replica"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"archive_command = 'pgbackrest --stanza=demo archive-push %p'",
"archive_mode = on",
"listen_addresses = '*'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"port = 5432",
"wal_level = replica"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/postgresql/11/demo"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/11/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/11/demo"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/11/demo",
"recovery-option=primary_conninfo=host=172.17.0.4 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/11/demo"
},
"pg2-path" : {
"value" : "/var/lib/postgresql/11/demo"
}
},
"global" : {
"backup-standby" : {
"value" : "n"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-path=/var/lib/postgresql/11/demo",
"pg2-host=pg-standby",
"pg2-path=/var/lib/postgresql/11/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/10/demo/pg_hba.conf \\",
" /etc/postgresql/11/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 pgbackrest pgbackrest --stanza=demo --no-online \\",
" --log-level-console=info stanza-upgrade"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"completed successfully"
]
},
"host" : "repository",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: stanza-upgrade command begin 2.23: --no-backup-standby --log-level-console=info --log-level-stderr=off --no-log-timestamp --no-online --pg1-host=pg-primary --pg2-host=pg-standby --pg1-path=/var/lib/postgresql/11/demo --pg2-path=/var/lib/postgresql/11/demo --repo1-path=/var/lib/pgbackrest --stanza=demo",
"P00 INFO: stanza-upgrade command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 11 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" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"Ver Cluster Port Status Owner Data directory Log file",
"10 demo 5432 down postgres /var/lib/postgresql/10/demo /var/log/postgresql/postgresql-10-demo.log",
"11 demo 5432 online postgres /var/lib/postgresql/11/demo /var/log/postgresql/postgresql-11-demo.log"
]
}
},
{
"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 10 demo"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_dropcluster 10 demo"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_createcluster 11 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 pg-2: [DbConnectError] raised from remote-0 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 --delta --type=standby restore"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/postgresql/11/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 11 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/11/demo",
"pg2-host=pg-standby",
"pg2-path=/var/lib/postgresql/11/demo",
"",
"[global]",
"backup-standby=y",
"process-max=3",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
"start-fast=y"
]
}
}
]
}
},
"{\"os-type\":\"centos6\"}" : {
"all" : {
"user-guide" : [
{
"key" : {
"id" : "s3",
"image" : "minio/minio:RELEASE.2019-10-12T01-39-57Z",
"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" : "centos6",
"param" : "server /data --address :443",
"update-hosts" : false
},
"type" : "host",
"value" : {
"ip" : "172.17.0.2"
}
},
{
"key" : {
"id" : "build",
"image" : "pgbackrest/doc:centos6",
"name" : "build",
"option" : "-v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
"os" : "centos6",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.3"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo mkdir -p /build/pgbackrest-release-2.23"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo cp -r /pgbackrest/libc /build/pgbackrest-release-2.23"
],
"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.23"
],
"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.23"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo yum install make gcc postgresql-devel openssl-devel libxml2-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.23/src && ./configure && make"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"id" : "pg1",
"image" : "pgbackrest/doc:centos6",
"name" : "pg-primary",
"option" : "-v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
"os" : "centos6",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.4"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo yum install postgresql-libs"
],
"cmd-extra" : "-y 2>&1",
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/build/pgbackrest-release-2.23/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.23 - General help",
"",
"Usage:",
" pgbackrest [options] [command]",
"",
"Commands:",
" 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.",
" restore Restore a database cluster.",
" 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.",
" version Get version.",
"",
"Use 'pgbackrest help [command]' for more information."
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres /usr/pgsql-9.5/bin/initdb \\",
" -D /var/lib/pgsql/9.5/data -k -A peer"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"listen_addresses" : {
"value" : "'*'"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"log_line_prefix" : {
"value" : "''"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'",
"log_line_prefix = ''"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"log_filename" : {
"value" : "'postgresql.log'"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'",
"log_filename = 'postgresql.log'",
"log_line_prefix = ''"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/pgsql/9.5/data"
}
},
"global" : {
"log-level-stderr" : {
"value" : "off"
},
"log-timestamp" : {
"value" : "n"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/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.23 - '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/9.5/data",
"",
"[global]",
"repo1-path=/var/lib/pgbackrest"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/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" : "hot_standby"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"archive_command = 'pgbackrest --stanza=demo archive-push %p'",
"archive_mode = on",
"listen_addresses = '*'",
"log_filename = 'postgresql.log'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"wal_level = hot_standby"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 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" : {
"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/9.5/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/9.5/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/9.5/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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
"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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
"P00 INFO: WAL segment 000000010000000000000001 successfully archived to '/var/lib/pgbackrest/archive/demo/9.5-1/0000000100000000/000000010000000000000001-e1dd518bc089d50d7ee81450a450ceb4e3dcd9a8.gz'",
"P00 INFO: check command end: completed successfully"
]
}
},
{
"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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo",
"P00 WARN: no prior backup exists, incr backup has been changed to full",
"P00 INFO: execute exclusive pg_start_backup(): backup begins after the next regular checkpoint completes",
"P00 INFO: backup start archive = 000000010000000000000002, lsn = 0/2000028",
" [filtered 851 lines of output]",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/base/1/12216 (0B, 100%)",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/base/1/12211 (0B, 100%)",
"P00 INFO: full backup size = 20.6MB",
"P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000010000000000000002, lsn = 0/2000130",
" [filtered 5 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest 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" : [
"20200127-052000F"
]
}
},
{
"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 5 lines of output]",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/pg_log/postgresql.log (903B, 97%) checksum 258df8b0c7149c60ee10f718adaa4a433d9fade1",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/backup_label (246B, 100%) checksum e2b59d21a6c067ecf6075fda2cae26c53ba5dde5",
"P00 INFO: diff backup size = 9.1KB",
"P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000010000000000000004, lsn = 0/40000F8",
" [filtered 5 lines of output]"
]
}
},
{
"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 (9.5-1): 000000010000000000000002/000000010000000000000004",
"",
" full backup: 20200127-052000F",
" timestamp start/stop: 2020-01-27 05:20:00 / 2020-01-27 05:21:21",
" wal start/stop: 000000010000000000000002 / 000000010000000000000002",
" database size: 20.6MB, backup size: 20.6MB",
" repository size: 2.4MB, repository backup size: 2.4MB",
"",
" diff backup: 20200127-052000F_20200127-052123D",
" timestamp start/stop: 2020-01-27 05:21:23 / 2020-01-27 05:21:25",
" wal start/stop: 000000010000000000000004 / 000000010000000000000004",
" database size: 20.6MB, backup size: 9.1KB",
" repository size: 2.4MB, repository backup size: 768B",
" backup reference list: 20200127-052000F"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 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/pgsql/9.5/data/global/pg_control"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo rm -f /var/lib/pgsql/9.5/pgstartup.log"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 start"
],
"err-expect" : "1",
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo cat /var/lib/pgsql/9.5/pgstartup.log"
],
"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" : [
"postmaster: could not find the database system",
"Expected to find it in the directory \"/var/lib/pgsql/9.5/data\",",
"but could not open file \"/var/lib/pgsql/9.5/data/global/pg_control\": No such file or directory"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres find /var/lib/pgsql/9.5/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 service postgresql-9.5 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 pgbackrest --stanza=demo --type=incr \\",
" --log-level-console=info backup"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"backup begins after the next regular checkpoint completes"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --type=incr",
"P00 INFO: last backup label = 20200127-052000F_20200127-052123D, version = 2.23",
"P00 INFO: execute exclusive pg_start_backup(): backup begins after the next regular checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000006, lsn = 0/6000028",
"P00 WARN: a timeline switch has occurred since the 20200127-052000F_20200127-052123D backup, enabling delta checksum",
" [filtered 11 lines of output]"
]
}
},
{
"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/9.5/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 --type=incr \\",
" --log-level-console=info backup"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"backup begins after the requested immediate checkpoint completes"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --start-fast --type=incr",
"P00 INFO: last backup label = 20200127-052000F_20200127-052145I, version = 2.23",
"P00 INFO: execute exclusive pg_start_backup(): backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000007, lsn = 0/7000028",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/global/pg_control (8KB, 80%) checksum 0874faf7e695fc7a4467aa1ba7b0e8f8c6c999b4",
" [filtered 10 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo chmod 550 /var/lib/pgbackrest/backup/demo/"
],
"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=incr \\",
" --log-level-console=info backup"
],
"err-expect" : "47",
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"ERROR:"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 2 lines of output]",
"P00 INFO: execute exclusive pg_start_backup(): backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000009, lsn = 0/9000028",
"P00 ERROR: [047]: unable to create path '/var/lib/pgbackrest/backup/demo/20200127-052000F_20200127-052155I': [13] Permission denied",
"P00 INFO: backup command end: aborted with exception [047]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo chmod 750 /var/lib/pgbackrest/backup/demo/"
],
"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=incr \\",
" --log-level-console=info backup"
],
"err-expect" : "57",
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"ERROR:"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --start-fast --type=incr",
"P00 INFO: last backup label = 20200127-052000F_20200127-052151I, version = 2.23",
"P00 INFO: execute exclusive pg_start_backup(): backup begins after the requested immediate checkpoint completes",
"P00 ERROR: [057]: unable to execute query 'select lsn::text as lsn,",
" pg_catalog.pg_xlogfile_name(lsn)::text as wal_segment_name",
" from pg_catalog.pg_start_backup('pgBackRest backup started at ' || current_timestamp, true) as lsn': ERROR: a backup is already in progress",
" HINT: Run pg_stop_backup() and try again.",
"P00 INFO: backup command end: aborted with exception [057]"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"stop-auto" : {
"value" : "y"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/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",
"stop-auto=y",
"",
"[global:archive-push]",
"compress-level=3"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --type=incr \\",
" --log-level-console=info backup"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"cluster is already in backup mode|backup begins after the requested immediate checkpoint completes"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --start-fast --stop-auto --type=incr",
"P00 INFO: last backup label = 20200127-052000F_20200127-052151I, version = 2.23",
"P00 INFO: execute exclusive pg_start_backup(): backup begins after the requested immediate checkpoint completes",
"P00 WARN: the cluster is already in backup mode but no pgBackRest backup process is running. pg_stop_backup() will be called so a new backup can be started.",
"P00 INFO: backup start archive = 00000002000000000000000A, lsn = 0/A000028",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/global/pg_control (8KB, 76%) checksum 7db00ff6105fa0433d9634ab579c8daffc615d5b",
" [filtered 10 lines of output]"
]
}
},
{
"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 jsonb);",
"",
" -- 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 temp_pgbackrest_data.data",
" 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\" | 2020-01-27 05:22:04+00 | 00000002000000000000000A",
"(1 row)"
]
}
},
{
"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/9.5/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",
"stop-auto=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 20200127-052000F|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 861 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.23: --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-full=2 --stanza=demo",
"P00 DETAIL: archive retention on backup 20200127-052000F, archiveId = 9.5-1, start = 000000010000000000000002",
"P00 DETAIL: no archive to remove, archiveId = 9.5-1",
"P00 INFO: expire command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest 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" : [
"20200127-052209F"
]
}
},
{
"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\\: 20200127-052000F|archive retention on backup 20200127-052209F|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 861 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.23: --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",
"P00 INFO: expire full backup set: 20200127-052000F, 20200127-052000F_20200127-052123D, 20200127-052000F_20200127-052145I, 20200127-052000F_20200127-052151I, 20200127-052000F_20200127-052200I",
"P00 INFO: remove expired backup 20200127-052000F_20200127-052200I",
"P00 INFO: remove expired backup 20200127-052000F_20200127-052151I",
" [filtered 3 lines of output]"
]
}
},
{
"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/9.5/data",
"",
"[global]",
"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",
"stop-auto=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 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" : [
"20200127-052223F_20200127-052240D"
]
}
},
{
"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: 20200127-052223F_20200127-052240D"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 13 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.23: --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: expire diff backup set: 20200127-052223F_20200127-052240D, 20200127-052223F_20200127-052245I",
"P00 INFO: remove expired backup 20200127-052223F_20200127-052245I",
"P00 INFO: remove expired backup 20200127-052223F_20200127-052240D"
]
}
},
{
"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/9.5/data",
"",
"[global]",
"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",
"stop-auto=y",
"",
"[global:archive-push]",
"compress-level=3"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest 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" : [
"20200127-052223F_20200127-052249D"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres psql -c \" \\",
" select pg_create_restore_point('generate WAL'); select pg_switch_xlog(); \\",
" select pg_create_restore_point('generate WAL'); select pg_switch_xlog();\""
],
"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 10 lines of output]",
"P00 INFO: backup stop archive = 000000020000000000000014, lsn = 0/140000F8",
"P00 INFO: check archive for segment(s) 000000020000000000000014:000000020000000000000014",
"P00 INFO: new backup label = 20200127-052223F_20200127-052255D",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.23: --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=2 --repo1-retention-full=2 --stanza=demo"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest 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" : [
"20200127-052223F_20200127-052255D"
]
}
},
{
"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 20200127-052223F_20200127-052249D|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: expire command begin 2.23: --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: archive retention on backup 20200127-052209F, archiveId = 9.5-1, start = 00000002000000000000000C, stop = 00000002000000000000000C",
"P00 DETAIL: archive retention on backup 20200127-052223F, archiveId = 9.5-1, start = 00000002000000000000000D, stop = 00000002000000000000000D",
"P00 DETAIL: archive retention on backup 20200127-052223F_20200127-052249D, archiveId = 9.5-1, start = 000000020000000000000010, stop = 000000020000000000000010",
"P00 DETAIL: archive retention on backup 20200127-052223F_20200127-052255D, archiveId = 9.5-1, start = 000000020000000000000014",
"P00 DETAIL: remove archive: archiveId = 9.5-1, start = 00000002000000000000000E, stop = 00000002000000000000000F",
"P00 DETAIL: remove archive: archiveId = 9.5-1, start = 000000020000000000000011, stop = 000000020000000000000013",
"P00 INFO: expire command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 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/pgsql/9.5/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/9.5/data'",
"P00 DETAIL: remove invalid file '/var/lib/pgsql/9.5/data/backup_label.old'",
"P00 DETAIL: remove invalid file '/var/lib/pgsql/9.5/data/base/12378/pg_internal.init'",
" [filtered 901 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 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 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 -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 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" : [
"24576"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres du -sh /var/lib/pgsql/9.5/data/base/24576"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"6.9M\t/var/lib/pgsql/9.5/data/base/24576"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest 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" : [
"20200127-052223F_20200127-052308I"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo \\",
" --set=20200127-052223F_20200127-052308I 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 11 lines of output]",
" repository size: 4MB, repository backup size: 1.6MB",
" backup reference list: 20200127-052223F, 20200127-052223F_20200127-052255D",
" database list: postgres (12378), test1 (24576), test2 (24577)"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 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 restore"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 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: FATAL: relation mapping file \"base/24576/pg_filenode.map\" contains invalid data"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres du -sh /var/lib/pgsql/9.5/data/base/24576"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"152K\t/var/lib/pgsql/9.5/data/base/24576"
]
}
},
{
"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",
" 12373 | template0",
" 12378 | postgres",
" 24577 | test2",
"(4 rows)"
]
}
},
{
"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 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 psql -Atc \"select current_timestamp\""
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"2020-01-27 05:23:37.470431+00"
]
}
},
{
"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 service postgresql-9.5 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 \\",
" --type=time \"--target=2020-01-27 05:23:37.470431+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/9.5/data/pg_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/9.5/data/recovery.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" : [
"# Recovery settings generated by pgBackRest restore on 2020-01-27 05:23:40",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
"recovery_target_time = '2020-01-27 05:23:37.470431+00'",
"recovery_target_action = 'promote'"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 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/lib/pgsql/9.5/data/pg_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 2020-01-27 05:23:30 UTC",
"LOG: starting point-in-time recovery to 2020-01-27 05:23:37.470431+00",
"LOG: restored log file \"00000004.history\" from archive",
"LOG: restored log file \"000000040000000000000019\" from archive",
"LOG: redo starts at 0/19000028",
"LOG: consistent recovery state reached at 0/190000F8",
"LOG: restored log file \"00000004000000000000001A\" from archive",
"LOG: recovery stopping before commit of transaction 630, time 2020-01-27 05:23:37.768999+00",
"LOG: redo done at 0/1A01B5B0",
"LOG: last completed transaction was at log time 2020-01-27 05:23:37.109013+00",
"LOG: selected new timeline ID: 5",
"LOG: archive recovery complete",
" [filtered 4 lines of output]"
]
}
},
{
"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 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" : [
"20200127-052223F_20200127-052330D"
]
}
},
{
"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 service postgresql-9.5 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 \\",
" --type=time \"--target=2020-01-27 05:23:37.470431+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/9.5/data/pg_log/postgresql.log"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 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\""
],
"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/9.5/data/pg_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 2020-01-27 05:23:48 UTC",
"LOG: starting point-in-time recovery to 2020-01-27 05:23:37.470431+00",
"LOG: restored log file \"00000005.history\" from archive",
"LOG: restored log file \"00000005000000000000001B\" from archive",
"LOG: redo starts at 0/1B000028",
"LOG: consistent recovery state reached at 0/1B0000F8",
"LOG: redo done at 0/1B0000F8",
"LOG: restored log file \"00000005000000000000001B\" from archive",
" [filtered 8 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest info"
],
"highlight" : {
"filter" : false,
"filter-context" : 2,
"list" : [
"20200127-052223F_20200127-052330D"
]
},
"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 (9.5-1): 00000002000000000000000C/00000005000000000000001B",
"",
" full backup: 20200127-052209F",
" timestamp start/stop: 2020-01-27 05:22:09 / 2020-01-27 05:22:21",
" wal start/stop: 00000002000000000000000C / 00000002000000000000000C",
" database size: 20.6MB, backup size: 20.6MB",
" repository size: 2.4MB, repository backup size: 2.4MB",
"",
" full backup: 20200127-052223F",
" timestamp start/stop: 2020-01-27 05:22:23 / 2020-01-27 05:22:37",
" wal start/stop: 00000002000000000000000D / 00000002000000000000000D",
" database size: 20.6MB, backup size: 20.6MB",
" repository size: 2.4MB, repository backup size: 2.4MB",
"",
" diff backup: 20200127-052223F_20200127-052255D",
" timestamp start/stop: 2020-01-27 05:22:55 / 2020-01-27 05:22:58",
" wal start/stop: 000000020000000000000014 / 000000020000000000000014",
" database size: 20.6MB, backup size: 116KB",
" repository size: 2.4MB, repository backup size: 12.6KB",
" backup reference list: 20200127-052223F",
"",
" incr backup: 20200127-052223F_20200127-052308I",
" timestamp start/stop: 2020-01-27 05:23:08 / 2020-01-27 05:23:17",
" wal start/stop: 000000030000000000000016 / 000000030000000000000016",
" database size: 34MB, backup size: 13.5MB",
" repository size: 4MB, repository backup size: 1.6MB",
" backup reference list: 20200127-052223F, 20200127-052223F_20200127-052255D",
"",
" diff backup: 20200127-052223F_20200127-052330D",
" timestamp start/stop: 2020-01-27 05:23:30 / 2020-01-27 05:23:36",
" wal start/stop: 000000040000000000000019 / 000000040000000000000019",
" database size: 27.4MB, backup size: 6.9MB",
" repository size: 3.2MB, repository backup size: 831.1KB",
" backup reference list: 20200127-052223F",
"",
" incr backup: 20200127-052223F_20200127-052347I",
" timestamp start/stop: 2020-01-27 05:23:47 / 2020-01-27 05:23:50",
" wal start/stop: 00000005000000000000001B / 00000005000000000000001B",
" database size: 27.4MB, backup size: 2MB",
" repository size: 3.2MB, repository backup size: 209.7KB",
" backup reference list: 20200127-052223F, 20200127-052223F_20200127-052330D"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 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 \\",
" --type=time \"--target=2020-01-27 05:23:37.470431+00\" \\",
" --set=20200127-052223F_20200127-052330D --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/9.5/data/pg_log/postgresql.log"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 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/lib/pgsql/9.5/data/pg_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 2020-01-27 05:23:30 UTC",
"LOG: starting point-in-time recovery to 2020-01-27 05:23:37.470431+00",
"LOG: restored log file \"00000004.history\" from archive",
"LOG: restored log file \"000000040000000000000019\" from archive",
"LOG: redo starts at 0/19000028",
"LOG: consistent recovery state reached at 0/190000F8",
"LOG: restored log file \"00000004000000000000001A\" from archive",
"LOG: recovery stopping before commit of transaction 630, time 2020-01-27 05:23:37.768999+00",
"LOG: redo done at 0/1A01B5B0",
"LOG: last completed transaction was at log time 2020-01-27 05:23:37.109013+00",
"LOG: restored log file \"00000005.history\" from archive",
"LOG: restored log file \"00000006.history\" from archive",
" [filtered 6 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"echo \"172.17.0.2 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" : [
"mc config host add demo https://172.17.0.2 accessKey1 verySecretKey1 --insecure"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"mc mb demo/demo-bucket --insecure"
],
"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"
},
"repo1-path" : {
"value" : "/demo-repo"
},
"repo1-s3-bucket" : {
"value" : "demo-bucket"
},
"repo1-s3-endpoint" : {
"value" : "s3.us-east-1.amazonaws.com"
},
"repo1-s3-key" : {
"value" : "accessKey1"
},
"repo1-s3-key-secret" : {
"value" : "verySecretKey1"
},
"repo1-s3-region" : {
"value" : "us-east-1"
},
"repo1-type" : {
"value" : "s3"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"process-max=4",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/demo-repo",
"repo1-retention-diff=2",
"repo1-retention-full=2",
"repo1-s3-bucket=demo-bucket",
"repo1-s3-endpoint=s3.us-east-1.amazonaws.com",
"repo1-s3-key=accessKey1",
"repo1-s3-key-secret=verySecretKey1",
"repo1-s3-region=us-east-1",
"repo1-type=s3",
"start-fast=y",
"stop-auto=y",
"",
"[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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/demo-repo --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.us-east-1.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --repo1-type=s3 --stanza=demo",
"P00 INFO: http statistics: objects 2, sessions 2, requests 12, retries 0, closes 0",
"P00 INFO: stanza-create command end: completed successfully"
]
}
},
{
"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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --process-max=4 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.us-east-1.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --repo1-type=s3 --stanza=demo --start-fast --stop-auto",
"P00 WARN: no prior backup exists, incr backup has been changed to full",
"P00 INFO: execute exclusive pg_start_backup(): backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 00000007000000000000001B, lsn = 0/1B000028",
" [filtered 1119 lines of output]",
"P04 INFO: backup file /var/lib/pgsql/9.5/data/base/1/12216 (0B, 100%)",
"P02 INFO: backup file /var/lib/pgsql/9.5/data/base/1/12211 (0B, 100%)",
"P00 INFO: full backup size = 27.4MB",
"P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 00000007000000000000001B, lsn = 0/1B0000F8",
" [filtered 7 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/demo-repo --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.us-east-1.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --repo1-type=s3 --stanza=demo",
"P00 INFO: stop command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/demo-repo --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.us-east-1.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --repo1-type=s3 --stanza=demo",
"P00 INFO: http statistics: objects 2, sessions 2, requests 15, retries 0, closes 0",
"P00 INFO: stanza-delete command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 start"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"id" : "repo1",
"image" : "pgbackrest/doc:centos6",
"name" : "repository",
"option" : "-v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
"os" : "centos6",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.5"
}
},
{
"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"
],
"cmd-extra" : "-y 2>&1",
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/build/pgbackrest-release-2.23/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/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 \\",
" -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/pgsql/.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/pgsql/.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/pgsql/9.5/data"
}
},
"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/pgsql/9.5/data",
"",
"[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/pgsql/9.5/data"
}
},
"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/pgsql/9.5/data",
"",
"[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 service postgresql-9.5 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 service postgresql-9.5 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 backup"
],
"host" : "repository",
"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/pgsql/9.5/data",
"",
"[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 (9.5-1): 000000080000000000000022/000000080000000000000024",
"",
" full backup: 20200127-052515F",
" timestamp start/stop: 2020-01-27 05:25:15 / 2020-01-27 05:25:31",
" wal start/stop: 000000080000000000000022 / 000000080000000000000022",
" database size: 27.4MB, backup size: 27.4MB",
" repository size: 3.2MB, repository backup size: 3.2MB",
"",
" full backup: 20200127-052535F",
" timestamp start/stop: 2020-01-27 05:25:35 / 2020-01-27 05:25:42",
" wal start/stop: 000000080000000000000024 / 000000080000000000000024",
" database size: 27.4MB, backup size: 27.4MB",
" repository size: 3.2MB, repository backup size: 3.2MB"
]
}
},
{
"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 pg-1: [StopError] raised from remote-0 protocol on 'pg-primary': stop file exists for all stanzas",
"P00 ERROR: [056]: unable to find primary cluster - cannot proceed"
]
}
},
{
"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 pg-1: [StopError] raised from remote-0 protocol on 'pg-primary': stop file exists for stanza demo",
"P00 ERROR: [056]: unable to find primary cluster - cannot proceed"
]
}
},
{
"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:centos6",
"name" : "pg-standby",
"option" : "-v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
"os" : "centos6",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.6"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo yum install postgresql-libs"
],
"cmd-extra" : "-y 2>&1",
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/build/pgbackrest-release-2.23/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/pgsql/.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/pgsql/.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/pgsql/.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/pgsql/.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/pgsql/9.5/data"
}
},
"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/pgsql/9.5/data",
"",
"[global]",
"log-level-file=detail",
"repo1-host=repository"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres mkdir -p -m 700 /var/lib/pgsql/9.5/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/9.5/data/recovery.conf"
],
"host" : "pg-standby",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"# Recovery settings generated by pgBackRest restore on 2020-01-27 05:26:09",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
"standby_mode = 'on'"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/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'"
},
"log_line_prefix" : {
"value" : "''"
},
"max_wal_senders" : {
"value" : "3"
},
"wal_level" : {
"value" : "hot_standby"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"archive_command = 'pgbackrest --stanza=demo archive-push %p'",
"archive_mode = on",
"hot_standby = on",
"log_filename = 'postgresql.log'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"wal_level = hot_standby"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo rm /var/lib/pgsql/9.5/data/pg_log/postgresql.log"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 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/lib/pgsql/9.5/data/pg_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 2020-01-27 05:25:35 UTC",
"LOG: entering standby mode",
"LOG: restored log file \"00000008.history\" from archive",
"LOG: restored log file \"000000080000000000000024\" from archive",
"LOG: redo starts at 0/24000028",
"LOG: consistent recovery state reached at 0/240000F8",
"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_xlog()\";"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" pg_switch_xlog | now ",
"----------------+-------------------------------",
" 0/2501F030 | 2020-01-27 05:26:17.412261+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 | now ",
"----------------+-------------------------------",
" Important Data | 2020-01-27 05:26:18.383093+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.23: --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-host=repository --stanza=demo",
"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.6/32 md5\" \\",
" >> /var/lib/pgsql/9.5/data/pg_hba.conf'"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 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.4 port=5432 user=replicator"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"recovery-option=primary_conninfo=host=172.17.0.4 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.4:*: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 service postgresql-9.5 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/pgsql/9.5/data/recovery.conf"
],
"host" : "pg-standby",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"# Recovery settings generated by pgBackRest restore on 2020-01-27 05:26:25",
"primary_conninfo = 'host=172.17.0.4 port=5432 user=replicator'",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
"standby_mode = 'on'"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/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'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"wal_level = hot_standby"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo rm /var/lib/pgsql/9.5/data/pg_log/postgresql.log"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 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/lib/pgsql/9.5/data/pg_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 6 lines of output]",
"LOG: database system is ready to accept read only connections",
"LOG: restored log file \"000000080000000000000025\" from archive",
"LOG: started streaming WAL from primary at 0/26000000 on timeline 8"
]
}
},
{
"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 | now ",
"----------------+-------------------------------",
" Important Data | 2020-01-27 05:26:32.627298+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 | now ",
"----------------+-------------------------------",
" Important Data | 2020-01-27 05:26:32.939591+00",
"(1 row)"
]
}
},
{
"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/9.5/data",
"",
"[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/pgsql/9.5/data",
"recovery-option=primary_conninfo=host=172.17.0.4 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 service postgresql-9.5 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_xlog(); \\",
" select pg_create_restore_point('test async push'); select pg_switch_xlog(); \\",
" select pg_create_restore_point('test async push'); select pg_switch_xlog(); \\",
" select pg_create_restore_point('test async push'); select pg_switch_xlog(); \\",
" select pg_create_restore_point('test async push'); select pg_switch_xlog();\""
],
"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.23: --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-host=repository --stanza=demo",
"P00 INFO: WAL segment 00000008000000000000002B successfully archived to '/var/lib/pgbackrest/archive/demo/9.5-1/0000000800000000/00000008000000000000002B-cce4534e39c594ce7d5519904373d6cb2239df65.gz'",
"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.23: [/var/lib/pgsql/9.5/data/pg_xlog] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 1 WAL file(s) to archive: 000000080000000000000026",
"P01 DETAIL: pushed WAL file '000000080000000000000026' to the archive",
"P00 INFO: archive-push:async command end: completed successfully",
"",
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push:async command begin 2.23: [/var/lib/pgsql/9.5/data/pg_xlog] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 5 WAL file(s) to archive: 000000080000000000000027...00000008000000000000002B",
"P01 DETAIL: pushed WAL file '000000080000000000000027' to the archive",
"P02 DETAIL: pushed WAL file '000000080000000000000028' to the archive",
"P01 DETAIL: pushed WAL file '000000080000000000000029' to the archive",
"P02 DETAIL: pushed WAL file '00000008000000000000002A' to the archive",
"P01 DETAIL: pushed WAL file '00000008000000000000002B' 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.23: [000000080000000000000024, 000000080000000000000025, 000000080000000000000026, 000000080000000000000027, 000000080000000000000028, 000000080000000000000029, 00000008000000000000002A, 00000008000000000000002B] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: get 8 WAL file(s) from archive: 000000080000000000000024...00000008000000000000002B",
"P01 DETAIL: found 000000080000000000000024 in the archive",
"P01 DETAIL: unable to find 000000080000000000000026 in the archive",
"P01 DETAIL: unable to find 000000080000000000000027 in the archive",
"P01 DETAIL: unable to find 000000080000000000000028 in the archive",
"P01 DETAIL: unable to find 000000080000000000000029 in the archive",
"P02 DETAIL: found 000000080000000000000025 in the archive",
"P01 DETAIL: unable to find 00000008000000000000002A in the archive",
"P02 DETAIL: unable to find 00000008000000000000002B in the archive",
" [filtered 16 lines of output]",
"P00 INFO: archive-get:async command begin 2.23: [000000080000000000000026, 000000080000000000000027, 000000080000000000000028, 000000080000000000000029, 00000008000000000000002A, 00000008000000000000002B, 00000008000000000000002C, 00000008000000000000002D] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: get 8 WAL file(s) from archive: 000000080000000000000026...00000008000000000000002D",
"P01 DETAIL: found 000000080000000000000026 in the archive",
"P02 DETAIL: found 000000080000000000000027 in the archive",
"P01 DETAIL: found 000000080000000000000028 in the archive",
"P02 DETAIL: found 000000080000000000000029 in the archive",
"P01 DETAIL: found 00000008000000000000002A in the archive",
"P02 DETAIL: found 00000008000000000000002B in the archive",
"P02 DETAIL: unable to find 00000008000000000000002D in the archive",
"P01 DETAIL: unable to find 00000008000000000000002C in the archive",
" [filtered 4 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/pgsql/9.5/data"
}
},
"global" : {
"backup-standby" : {
"value" : "y"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-path=/var/lib/pgsql/9.5/data",
"pg2-host=pg-standby",
"pg2-path=/var/lib/pgsql/9.5/data",
"",
"[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 exclusive pg_start_backup(): backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 00000008000000000000002D, lsn = 0/2D000028",
"P00 INFO: wait for replay on the standby to reach 0/2D000028",
"P00 INFO: replay on the standby reached 0/2D000028",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/global/pg_control (8KB, 0%) checksum 0f1db93ab9284ce516d24f51a99277a27506fd61",
"P04 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/1249 (360KB, 16%) checksum 9a728c5716e1daa667dceab04d3f095c5f6cd09c",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/pg_log/postgresql.log (7.4KB, 17%) checksum c1f6986a44895b6816120e6f079bd6c0df715892",
"P02 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2608 (432KB, 37%) checksum 690c4823ff4e820c7d93250212fc177a5bc9881f",
"P03 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2674 (360KB, 53%) checksum 056529b5a4741f14eb84f785840e4e1919cd43f1",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/pg_hba.conf (4.2KB, 53%) checksum 1c0bca2f7f44d354aaaefb2c21fd1290b7379690",
"P04 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2673 (336KB, 69%) checksum ec861c76be58970e14cf6c7dc067fdeec8d32ca1",
"P02 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2658 (112KB, 74%) checksum cce2c16cbb21e9a8973de7f5963c2380d6ff27a4",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/backup_label (248B, 74%) checksum 9f06c45056249b8050a14e6edc546bcf9e031885",
"P03 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/1259 (104KB, 79%) checksum 13d13da9c267cc469a5454fdb0732d49cf272db2",
"P04 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2659 (72KB, 82%) checksum 0f5352b987dca27ce8359fce7260d838ebbde089",
" [filtered 1125 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 stop"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 stop"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres /usr/pgsql-9.6/bin/initdb \\",
" -D /var/lib/pgsql/9.6/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-9.6/bin/pg_upgrade \\",
" --old-bindir=/usr/pgsql-9.5/bin \\",
" --new-bindir=/usr/pgsql-9.6/bin \\",
" --old-datadir=/var/lib/pgsql/9.5/data \\",
" --new-datadir=/var/lib/pgsql/9.6/data \\",
" --old-options=\" -c config_file=/var/lib/pgsql/9.5/data/postgresql.conf\" \\",
" --new-options=\" -c config_file=/var/lib/pgsql/9.6/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 69 lines of output]",
"Creating script to delete old cluster ok",
"",
"Upgrade Complete",
"----------------",
"Optimizer statistics are not transferred by pg_upgrade so,",
" [filtered 4 lines of output]"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.6/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"archive_command" : {
"value" : "'pgbackrest --stanza=demo archive-push %p'"
},
"archive_mode" : {
"value" : "on"
},
"listen_addresses" : {
"value" : "'*'"
},
"log_line_prefix" : {
"value" : "''"
},
"max_wal_senders" : {
"value" : "3"
},
"port" : {
"value" : "5432"
},
"wal_level" : {
"value" : "hot_standby"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"archive_command = 'pgbackrest --stanza=demo archive-push %p'",
"archive_mode = on",
"listen_addresses = '*'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"port = 5432",
"wal_level = hot_standby"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/pgsql/9.6/data"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.6/data",
"",
"[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/pgsql/9.6/data"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.6/data",
"recovery-option=primary_conninfo=host=172.17.0.4 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/pgsql/9.6/data"
},
"pg2-path" : {
"value" : "/var/lib/pgsql/9.6/data"
}
},
"global" : {
"backup-standby" : {
"value" : "n"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-path=/var/lib/pgsql/9.6/data",
"pg2-host=pg-standby",
"pg2-path=/var/lib/pgsql/9.6/data",
"",
"[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 /var/lib/pgsql/9.5/data/pg_hba.conf \\",
" /var/lib/pgsql/9.6/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 pgbackrest pgbackrest --stanza=demo --no-online \\",
" --log-level-console=info stanza-upgrade"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"completed successfully"
]
},
"host" : "repository",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: stanza-upgrade command begin 2.23: --no-backup-standby --log-level-console=info --log-level-stderr=off --no-log-timestamp --no-online --pg1-host=pg-primary --pg2-host=pg-standby --pg1-path=/var/lib/pgsql/9.6/data --pg2-path=/var/lib/pgsql/9.6/data --repo1-path=/var/lib/pgbackrest --stanza=demo",
"P00 INFO: stanza-upgrade command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.6 start"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"Starting postgresql-9.6 service: [ OK ]\r"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres service postgresql-9.6 status"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"postgresql-9.6 (pid 4827) is running..."
]
}
},
{
"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/9.5/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/9.5/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-9.6/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 pg-2: [DbConnectError] raised from remote-0 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/9.6/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 service postgresql-9.6 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/pgsql/9.6/data",
"pg2-host=pg-standby",
"pg2-path=/var/lib/pgsql/9.6/data",
"",
"[global]",
"backup-standby=y",
"process-max=3",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
"start-fast=y"
]
}
}
]
}
},
"{\"os-type\":\"centos7\"}" : {
"all" : {
"user-guide" : [
{
"key" : {
"id" : "s3",
"image" : "minio/minio:RELEASE.2019-10-12T01-39-57Z",
"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" : "centos7",
"param" : "server /data --address :443",
"update-hosts" : false
},
"type" : "host",
"value" : {
"ip" : "172.17.0.2"
}
},
{
"key" : {
"id" : "build",
"image" : "pgbackrest/doc:centos7",
"name" : "build",
"option" : "-v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
"os" : "centos7",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.3"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo mkdir -p /build/pgbackrest-release-2.23"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo cp -r /pgbackrest/libc /build/pgbackrest-release-2.23"
],
"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.23"
],
"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.23"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo yum install make gcc postgresql-devel openssl-devel libxml2-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.23/src && ./configure && make"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"id" : "pg1",
"image" : "pgbackrest/doc:centos7",
"name" : "pg-primary",
"option" : "-v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
"os" : "centos7",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.4"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo yum install postgresql-libs"
],
"cmd-extra" : "-y 2>&1",
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/build/pgbackrest-release-2.23/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.23 - General help",
"",
"Usage:",
" pgbackrest [options] [command]",
"",
"Commands:",
" 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.",
" restore Restore a database cluster.",
" 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.",
" version Get version.",
"",
"Use 'pgbackrest help [command]' for more information."
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres /usr/pgsql-9.6/bin/initdb \\",
" -D /var/lib/pgsql/9.6/data -k -A peer"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"file" : "/var/lib/pgsql/9.6/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"listen_addresses" : {
"value" : "'*'"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.6/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"log_line_prefix" : {
"value" : "''"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'",
"log_line_prefix = ''"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.6/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"log_filename" : {
"value" : "'postgresql.log'"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'",
"log_filename = 'postgresql.log'",
"log_line_prefix = ''"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/pgsql/9.6/data"
}
},
"global" : {
"log-level-stderr" : {
"value" : "off"
},
"log-timestamp" : {
"value" : "n"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.6/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.23 - '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/9.6/data",
"",
"[global]",
"repo1-path=/var/lib/pgbackrest"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.6/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",
"listen_addresses = '*'",
"log_filename = 'postgresql.log'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"wal_level = replica"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo systemctl restart postgresql-9.6.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" : {
"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/9.6/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/9.6/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/9.6/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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.6/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
"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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.6/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
"P00 INFO: WAL segment 000000010000000000000001 successfully archived to '/var/lib/pgbackrest/archive/demo/9.6-1/0000000100000000/000000010000000000000001-0022e51a3015711480feae1199faab228b66a3a4.gz'",
"P00 INFO: check command end: completed successfully"
]
}
},
{
"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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.6/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo",
"P00 WARN: no prior backup exists, incr backup has been changed to full",
"P00 INFO: execute non-exclusive pg_start_backup(): backup begins after the next regular checkpoint completes",
"P00 INFO: backup start archive = 000000010000000000000002, lsn = 0/2000028",
" [filtered 864 lines of output]",
"P01 INFO: backup file /var/lib/pgsql/9.6/data/base/1/12312 (0B, 100%)",
"P01 INFO: backup file /var/lib/pgsql/9.6/data/base/1/12307 (0B, 100%)",
"P00 INFO: full backup size = 21MB",
"P00 INFO: execute non-exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000010000000000000002, lsn = 0/2000130",
" [filtered 5 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest 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" : [
"20200127-051232F"
]
}
},
{
"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 3 lines of output]",
"P00 INFO: backup start archive = 000000010000000000000003, lsn = 0/3000028",
"P01 INFO: backup file /var/lib/pgsql/9.6/data/global/pg_control (8KB, 100%) checksum e28a77dc31c5fc45b416ced0166bb7af5015bbdd",
"P00 INFO: diff backup size = 8KB",
"P00 INFO: execute non-exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000010000000000000003, lsn = 0/30000F8",
" [filtered 5 lines of output]"
]
}
},
{
"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 (9.6-1): 000000010000000000000002/000000010000000000000003",
"",
" full backup: 20200127-051232F",
" timestamp start/stop: 2020-01-27 05:12:32 / 2020-01-27 05:12:45",
" wal start/stop: 000000010000000000000002 / 000000010000000000000002",
" database size: 21MB, backup size: 21MB",
" repository size: 2.5MB, repository backup size: 2.5MB",
"",
" diff backup: 20200127-051232F_20200127-051246D",
" timestamp start/stop: 2020-01-27 05:12:46 / 2020-01-27 05:12:49",
" wal start/stop: 000000010000000000000003 / 000000010000000000000003",
" database size: 21MB, backup size: 8.2KB",
" repository size: 2.5MB, repository backup size: 400B",
" backup reference list: 20200127-051232F"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo systemctl stop postgresql-9.6.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/9.6/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-9.6.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-9.6.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 8 lines of output]",
"Jan 27 05:12:51 pg-primary systemd[1]: Starting PostgreSQL 9.6 database server...",
"Jan 27 05:12:51 pg-primary systemd[1]: postgresql-9.6.service: main process exited, code=exited, status=2/INVALIDARGUMENT",
"Jan 27 05:12:51 pg-primary systemd[1]: Failed to start PostgreSQL 9.6 database server.",
"Jan 27 05:12:51 pg-primary systemd[1]: Unit postgresql-9.6.service entered failed state.",
"Jan 27 05:12:51 pg-primary systemd[1]: postgresql-9.6.service failed."
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres find /var/lib/pgsql/9.6/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-9.6.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 pgbackrest --stanza=demo --type=incr \\",
" --log-level-console=info backup"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"backup begins after the next regular checkpoint completes"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.6/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --type=incr",
"P00 INFO: last backup label = 20200127-051232F_20200127-051246D, version = 2.23",
"P00 INFO: execute non-exclusive pg_start_backup(): backup begins after the next regular checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000005, lsn = 0/5000028",
"P00 WARN: a timeline switch has occurred since the 20200127-051232F_20200127-051246D backup, enabling delta checksum",
" [filtered 10 lines of output]"
]
}
},
{
"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/9.6/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 --type=incr \\",
" --log-level-console=info backup"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"backup begins after the requested immediate checkpoint completes"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.6/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --start-fast --type=incr",
"P00 INFO: last backup label = 20200127-051232F_20200127-051305I, version = 2.23",
"P00 INFO: execute non-exclusive pg_start_backup(): backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000006, lsn = 0/6000028",
"P01 INFO: backup file /var/lib/pgsql/9.6/data/global/pg_control (8KB, 100%) checksum 03c2a3218bd5664ed1988cc3694c3855588e4b4c",
" [filtered 8 lines of output]"
]
}
},
{
"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 jsonb);",
"",
" -- 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 temp_pgbackrest_data.data",
" 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\" | 2020-01-27 05:13:13+00 | 000000020000000000000006",
"(1 row)"
]
}
},
{
"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/9.6/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 --type=full \\",
" --log-level-console=detail backup"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"archive retention on backup 20200127-051232F|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 875 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.23: --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-full=2 --stanza=demo",
"P00 DETAIL: archive retention on backup 20200127-051232F, archiveId = 9.6-1, start = 000000010000000000000002",
"P00 DETAIL: no archive to remove, archiveId = 9.6-1",
"P00 INFO: expire command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest 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" : [
"20200127-051317F"
]
}
},
{
"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\\: 20200127-051232F|archive retention on backup 20200127-051317F|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 874 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.23: --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",
"P00 INFO: expire full backup set: 20200127-051232F, 20200127-051232F_20200127-051246D, 20200127-051232F_20200127-051305I, 20200127-051232F_20200127-051310I",
"P00 INFO: remove expired backup 20200127-051232F_20200127-051310I",
"P00 INFO: remove expired backup 20200127-051232F_20200127-051305I",
" [filtered 2 lines of output]"
]
}
},
{
"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/9.6/data",
"",
"[global]",
"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 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" : [
"20200127-051333F_20200127-051349D"
]
}
},
{
"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: 20200127-051333F_20200127-051349D"
]
},
"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.23: --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: expire diff backup set: 20200127-051333F_20200127-051349D, 20200127-051333F_20200127-051353I",
"P00 INFO: remove expired backup 20200127-051333F_20200127-051353I",
"P00 INFO: remove expired backup 20200127-051333F_20200127-051349D"
]
}
},
{
"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/9.6/data",
"",
"[global]",
"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 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" : [
"20200127-051333F_20200127-051356D"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres psql -c \" \\",
" select pg_create_restore_point('generate WAL'); select pg_switch_xlog(); \\",
" select pg_create_restore_point('generate WAL'); select pg_switch_xlog();\""
],
"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 9 lines of output]",
"P00 INFO: backup stop archive = 000000020000000000000012, lsn = 0/12000130",
"P00 INFO: check archive for segment(s) 000000020000000000000012:000000020000000000000012",
"P00 INFO: new backup label = 20200127-051333F_20200127-051402D",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.23: --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=2 --repo1-retention-full=2 --stanza=demo"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest 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" : [
"20200127-051333F_20200127-051402D"
]
}
},
{
"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 20200127-051333F_20200127-051356D|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: expire command begin 2.23: --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: archive retention on backup 20200127-051317F, archiveId = 9.6-1, start = 000000020000000000000008, stop = 000000020000000000000008",
"P00 DETAIL: archive retention on backup 20200127-051333F, archiveId = 9.6-1, start = 00000002000000000000000A, stop = 00000002000000000000000A",
"P00 DETAIL: archive retention on backup 20200127-051333F_20200127-051356D, archiveId = 9.6-1, start = 00000002000000000000000E, stop = 00000002000000000000000E",
"P00 DETAIL: archive retention on backup 20200127-051333F_20200127-051402D, archiveId = 9.6-1, start = 000000020000000000000012",
"P00 DETAIL: remove archive: archiveId = 9.6-1, start = 000000020000000000000009, stop = 000000020000000000000009",
"P00 DETAIL: remove archive: archiveId = 9.6-1, start = 00000002000000000000000B, stop = 00000002000000000000000D",
"P00 DETAIL: remove archive: archiveId = 9.6-1, start = 00000002000000000000000F, stop = 000000020000000000000011",
"P00 INFO: expire command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo systemctl stop postgresql-9.6.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/9.6/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/9.6/data'",
"P00 DETAIL: remove invalid file '/var/lib/pgsql/9.6/data/backup_label.old'",
"P00 DETAIL: remove invalid file '/var/lib/pgsql/9.6/data/base/12470/pg_internal.init'",
" [filtered 915 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo systemctl start postgresql-9.6.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 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 -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 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" : [
"24576"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres du -sh /var/lib/pgsql/9.6/data/base/24576"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"7.0M\t/var/lib/pgsql/9.6/data/base/24576"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest 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" : [
"20200127-051333F_20200127-051412I"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo \\",
" --set=20200127-051333F_20200127-051412I 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 11 lines of output]",
" repository size: 4MB, repository backup size: 1.6MB",
" backup reference list: 20200127-051333F, 20200127-051333F_20200127-051402D",
" database list: postgres (12470), test1 (24576), test2 (24577)"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo systemctl stop postgresql-9.6.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 restore"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo systemctl start postgresql-9.6.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: FATAL: relation mapping file \"base/24576/pg_filenode.map\" contains invalid data"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres du -sh /var/lib/pgsql/9.6/data/base/24576"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"152K\t/var/lib/pgsql/9.6/data/base/24576"
]
}
},
{
"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",
" 12469 | template0",
" 12470 | postgres",
" 24577 | test2",
"(4 rows)"
]
}
},
{
"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 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 psql -Atc \"select current_timestamp\""
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"2020-01-27 05:14:38.255635+00"
]
}
},
{
"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 systemctl stop postgresql-9.6.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=2020-01-27 05:14:38.255635+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/9.6/data/pg_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/9.6/data/recovery.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" : [
"# Recovery settings generated by pgBackRest restore on 2020-01-27 05:14:39",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
"recovery_target_time = '2020-01-27 05:14:38.255635+00'",
"recovery_target_action = 'promote'"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo systemctl start postgresql-9.6.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/9.6/data/pg_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 2020-01-27 05:14:31 UTC",
"LOG: starting point-in-time recovery to 2020-01-27 05:14:38.255635+00",
"LOG: restored log file \"00000004.history\" from archive",
"LOG: restored log file \"000000040000000000000017\" from archive",
"LOG: redo starts at 0/17000028",
"LOG: consistent recovery state reached at 0/170000F8",
"LOG: restored log file \"000000040000000000000018\" from archive",
"LOG: recovery stopping before commit of transaction 639, time 2020-01-27 05:14:38.55375+00",
"LOG: redo done at 0/18020E10",
"LOG: last completed transaction was at log time 2020-01-27 05:14:37.93266+00",
"LOG: selected new timeline ID: 5",
"LOG: archive recovery complete",
" [filtered 3 lines of output]"
]
}
},
{
"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 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" : [
"20200127-051333F_20200127-051431D"
]
}
},
{
"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 systemctl stop postgresql-9.6.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=2020-01-27 05:14:38.255635+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/9.6/data/pg_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-9.6.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/9.6/data/pg_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 2020-01-27 05:14:45 UTC",
"LOG: starting point-in-time recovery to 2020-01-27 05:14:38.255635+00",
"LOG: restored log file \"00000005.history\" from archive",
"LOG: restored log file \"000000050000000000000019\" from archive",
"LOG: redo starts at 0/19000028",
"LOG: consistent recovery state reached at 0/190000F8",
"LOG: redo done at 0/190000F8",
"LOG: restored log file \"000000050000000000000019\" from archive",
" [filtered 7 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest info"
],
"highlight" : {
"filter" : false,
"filter-context" : 2,
"list" : [
"20200127-051333F_20200127-051431D"
]
},
"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 (9.6-1): 000000020000000000000008/000000050000000000000019",
"",
" full backup: 20200127-051317F",
" timestamp start/stop: 2020-01-27 05:13:17 / 2020-01-27 05:13:31",
" wal start/stop: 000000020000000000000008 / 000000020000000000000008",
" database size: 21MB, backup size: 21MB",
" repository size: 2.5MB, repository backup size: 2.5MB",
"",
" full backup: 20200127-051333F",
" timestamp start/stop: 2020-01-27 05:13:33 / 2020-01-27 05:13:46",
" wal start/stop: 00000002000000000000000A / 00000002000000000000000A",
" database size: 21MB, backup size: 21MB",
" repository size: 2.5MB, repository backup size: 2.5MB",
"",
" diff backup: 20200127-051333F_20200127-051402D",
" timestamp start/stop: 2020-01-27 05:14:02 / 2020-01-27 05:14:05",
" wal start/stop: 000000020000000000000012 / 000000020000000000000012",
" database size: 21MB, backup size: 97.6KB",
" repository size: 2.5MB, repository backup size: 11.8KB",
" backup reference list: 20200127-051333F",
"",
" incr backup: 20200127-051333F_20200127-051412I",
" timestamp start/stop: 2020-01-27 05:14:12 / 2020-01-27 05:14:21",
" wal start/stop: 000000030000000000000014 / 000000030000000000000014",
" database size: 34.7MB, backup size: 13.7MB",
" repository size: 4MB, repository backup size: 1.6MB",
" backup reference list: 20200127-051333F, 20200127-051333F_20200127-051402D",
"",
" diff backup: 20200127-051333F_20200127-051431D",
" timestamp start/stop: 2020-01-27 05:14:31 / 2020-01-27 05:14:37",
" wal start/stop: 000000040000000000000017 / 000000040000000000000017",
" database size: 27.9MB, backup size: 7.0MB",
" repository size: 3.3MB, repository backup size: 846.9KB",
" backup reference list: 20200127-051333F",
"",
" incr backup: 20200127-051333F_20200127-051445I",
" timestamp start/stop: 2020-01-27 05:14:45 / 2020-01-27 05:14:48",
" wal start/stop: 000000050000000000000019 / 000000050000000000000019",
" database size: 27.9MB, backup size: 2MB",
" repository size: 3.3MB, repository backup size: 211.4KB",
" backup reference list: 20200127-051333F, 20200127-051333F_20200127-051431D"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo systemctl stop postgresql-9.6.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=2020-01-27 05:14:38.255635+00\" \\",
" --set=20200127-051333F_20200127-051431D --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/9.6/data/pg_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-9.6.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/9.6/data/pg_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 2020-01-27 05:14:31 UTC",
"LOG: starting point-in-time recovery to 2020-01-27 05:14:38.255635+00",
"LOG: restored log file \"00000004.history\" from archive",
"LOG: restored log file \"000000040000000000000017\" from archive",
"LOG: redo starts at 0/17000028",
"LOG: consistent recovery state reached at 0/170000F8",
"LOG: restored log file \"000000040000000000000018\" from archive",
"LOG: recovery stopping before commit of transaction 639, time 2020-01-27 05:14:38.55375+00",
"LOG: redo done at 0/18020E10",
"LOG: last completed transaction was at log time 2020-01-27 05:14:37.93266+00",
"LOG: restored log file \"00000005.history\" from archive",
"LOG: restored log file \"00000006.history\" from archive",
" [filtered 5 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"echo \"172.17.0.2 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" : [
"mc config host add demo https://172.17.0.2 accessKey1 verySecretKey1 --insecure"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"mc mb demo/demo-bucket --insecure"
],
"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"
},
"repo1-path" : {
"value" : "/demo-repo"
},
"repo1-s3-bucket" : {
"value" : "demo-bucket"
},
"repo1-s3-endpoint" : {
"value" : "s3.us-east-1.amazonaws.com"
},
"repo1-s3-key" : {
"value" : "accessKey1"
},
"repo1-s3-key-secret" : {
"value" : "verySecretKey1"
},
"repo1-s3-region" : {
"value" : "us-east-1"
},
"repo1-type" : {
"value" : "s3"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.6/data",
"",
"[global]",
"process-max=4",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/demo-repo",
"repo1-retention-diff=2",
"repo1-retention-full=2",
"repo1-s3-bucket=demo-bucket",
"repo1-s3-endpoint=s3.us-east-1.amazonaws.com",
"repo1-s3-key=accessKey1",
"repo1-s3-key-secret=verySecretKey1",
"repo1-s3-region=us-east-1",
"repo1-type=s3",
"start-fast=y",
"",
"[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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.6/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/demo-repo --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.us-east-1.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --repo1-type=s3 --stanza=demo",
"P00 INFO: http statistics: objects 2, sessions 2, requests 12, retries 0, closes 0",
"P00 INFO: stanza-create command end: completed successfully"
]
}
},
{
"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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.6/data --process-max=4 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.us-east-1.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --repo1-type=s3 --stanza=demo --start-fast",
"P00 WARN: no prior backup exists, incr backup has been changed to full",
"P00 INFO: execute non-exclusive pg_start_backup(): backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000070000000000000019, lsn = 0/19000028",
" [filtered 1136 lines of output]",
"P02 INFO: backup file /var/lib/pgsql/9.6/data/base/1/12312 (0B, 100%)",
"P01 INFO: backup file /var/lib/pgsql/9.6/data/base/1/12307 (0B, 100%)",
"P00 INFO: full backup size = 27.9MB",
"P00 INFO: execute non-exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000070000000000000019, lsn = 0/190000F8",
" [filtered 7 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo systemctl stop postgresql-9.6.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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/demo-repo --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.us-east-1.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --repo1-type=s3 --stanza=demo",
"P00 INFO: stop command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --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.23: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.6/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/demo-repo --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.us-east-1.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --repo1-type=s3 --stanza=demo",
"P00 INFO: http statistics: objects 2, sessions 2, requests 15, retries 0, closes 0",
"P00 INFO: stanza-delete command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo systemctl start postgresql-9.6.service"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"id" : "repo1",
"image" : "pgbackrest/doc:centos7",
"name" : "repository",
"option" : "-v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
"os" : "centos7",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.5"
}
},
{
"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"
],
"cmd-extra" : "-y 2>&1",
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/build/pgbackrest-release-2.23/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/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 \\",
" -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/pgsql/.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/pgsql/.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/pgsql/9.6/data"
}
},
"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/pgsql/9.6/data",
"",
"[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/pgsql/9.6/data"
}
},
"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/pgsql/9.6/data",
"",
"[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 systemctl stop postgresql-9.6.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-9.6.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 backup"
],
"host" : "repository",
"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/pgsql/9.6/data",
"",
"[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 (9.6-1): 00000008000000000000001F/000000080000000000000020",
"",
" full backup: 20200127-051602F",
" timestamp start/stop: 2020-01-27 05:16:02 / 2020-01-27 05:16:18",
" wal start/stop: 00000008000000000000001F / 00000008000000000000001F",
" database size: 27.9MB, backup size: 27.9MB",
" repository size: 3.3MB, repository backup size: 3.3MB",
"",
" full backup: 20200127-051620F",
" timestamp start/stop: 2020-01-27 05:16:20 / 2020-01-27 05:16:27",
" wal start/stop: 000000080000000000000020 / 000000080000000000000020",
" database size: 27.9MB, backup size: 27.9MB",
" repository size: 3.3MB, repository backup size: 3.3MB"
]
}
},
{
"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 pg-1: [StopError] raised from remote-0 protocol on 'pg-primary': stop file exists for all stanzas",
"P00 ERROR: [056]: unable to find primary cluster - cannot proceed"
]
}
},
{
"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 pg-1: [StopError] raised from remote-0 protocol on 'pg-primary': stop file exists for stanza demo",
"P00 ERROR: [056]: unable to find primary cluster - cannot proceed"
]
}
},
{
"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:centos7",
"name" : "pg-standby",
"option" : "-v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /tmp/$(mktemp -d):/run",
"os" : "centos7",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.6"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo yum install postgresql-libs"
],
"cmd-extra" : "-y 2>&1",
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/build/pgbackrest-release-2.23/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/pgsql/.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/pgsql/.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/pgsql/.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/pgsql/.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/pgsql/9.6/data"
}
},
"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/pgsql/9.6/data",
"",
"[global]",
"log-level-file=detail",
"repo1-host=repository"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres mkdir -p -m 700 /var/lib/pgsql/9.6/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/9.6/data/recovery.conf"
],
"host" : "pg-standby",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"# Recovery settings generated by pgBackRest restore on 2020-01-27 05:16:53",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
"standby_mode = 'on'"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.6/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'"
},
"log_line_prefix" : {
"value" : "''"
},
"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'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"wal_level = replica"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo rm /var/lib/pgsql/9.6/data/pg_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-9.6.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/9.6/data/pg_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 2020-01-27 05:16:21 UTC",
"LOG: entering standby mode",
"LOG: restored log file \"00000008.history\" from archive",
"LOG: restored log file \"000000080000000000000020\" from archive",
"LOG: redo starts at 0/20000028",
"LOG: consistent recovery state reached at 0/20000130",
"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_xlog()\";"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" pg_switch_xlog | now ",
"----------------+-------------------------------",
" 0/210223D0 | 2020-01-27 05:17:00.034965+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 | now ",
"----------------+-------------------------------",
" Important Data | 2020-01-27 05:17:02.300126+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.23: --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.6/data --repo1-host=repository --stanza=demo",
"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.6/32 md5\" \\",
" >> /var/lib/pgsql/9.6/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-9.6.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.4 port=5432 user=replicator"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.6/data",
"recovery-option=primary_conninfo=host=172.17.0.4 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.4:*: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-9.6.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/9.6/data/recovery.conf"
],
"host" : "pg-standby",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"# Recovery settings generated by pgBackRest restore on 2020-01-27 05:17:07",
"primary_conninfo = 'host=172.17.0.4 port=5432 user=replicator'",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
"standby_mode = 'on'"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.6/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'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"wal_level = replica"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo rm /var/lib/pgsql/9.6/data/pg_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-9.6.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/9.6/data/pg_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 6 lines of output]",
"LOG: database system is ready to accept read only connections",
"LOG: restored log file \"000000080000000000000021\" from archive",
"LOG: started streaming WAL from primary at 0/22000000 on timeline 8"
]
}
},
{
"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 | now ",
"----------------+-------------------------------",
" Important Data | 2020-01-27 05:17:14.128727+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 | now ",
"----------------+------------------------------",
" Important Data | 2020-01-27 05:17:14.50236+00",
"(1 row)"
]
}
},
{
"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/9.6/data",
"",
"[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/pgsql/9.6/data",
"recovery-option=primary_conninfo=host=172.17.0.4 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 systemctl restart postgresql-9.6.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_xlog(); \\",
" select pg_create_restore_point('test async push'); select pg_switch_xlog(); \\",
" select pg_create_restore_point('test async push'); select pg_switch_xlog(); \\",
" select pg_create_restore_point('test async push'); select pg_switch_xlog(); \\",
" select pg_create_restore_point('test async push'); select pg_switch_xlog();\""
],
"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.23: --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.6/data --repo1-host=repository --stanza=demo",
"P00 INFO: WAL segment 000000080000000000000027 successfully archived to '/var/lib/pgbackrest/archive/demo/9.6-1/0000000800000000/000000080000000000000027-497c3f468db57cab98b6a19431cc3fd5cad06543.gz'",
"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.23: [/var/lib/pgsql/9.6/data/pg_xlog] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.6/data --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 1 WAL file(s) to archive: 000000080000000000000022",
"P01 DETAIL: pushed WAL file '000000080000000000000022' to the archive",
"P00 INFO: archive-push:async command end: completed successfully",
"",
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push:async command begin 2.23: [/var/lib/pgsql/9.6/data/pg_xlog] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.6/data --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 4 WAL file(s) to archive: 000000080000000000000023...000000080000000000000026",
"P01 DETAIL: pushed WAL file '000000080000000000000023' to the archive",
"P02 DETAIL: pushed WAL file '000000080000000000000024' to the archive",
"P01 DETAIL: pushed WAL file '000000080000000000000025' to the archive",
"P02 DETAIL: pushed WAL file '000000080000000000000026' to the archive",
"P00 INFO: archive-push:async command end: completed successfully",
"",
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push:async command begin 2.23: [/var/lib/pgsql/9.6/data/pg_xlog] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.6/data --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 1 WAL file(s) to archive: 000000080000000000000027",
"P01 DETAIL: pushed WAL file '000000080000000000000027' 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.23: [000000080000000000000020, 000000080000000000000021, 000000080000000000000022, 000000080000000000000023, 000000080000000000000024, 000000080000000000000025, 000000080000000000000026, 000000080000000000000027] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.6/data --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: get 8 WAL file(s) from archive: 000000080000000000000020...000000080000000000000027",
"P01 DETAIL: found 000000080000000000000020 in the archive",
"P02 DETAIL: found 000000080000000000000021 in the archive",
"P01 DETAIL: unable to find 000000080000000000000022 in the archive",
"P02 DETAIL: unable to find 000000080000000000000023 in the archive",
" [filtered 20 lines of output]",
"P00 INFO: archive-get:async command begin 2.23: [000000080000000000000022, 000000080000000000000023, 000000080000000000000024, 000000080000000000000025, 000000080000000000000026, 000000080000000000000027, 000000080000000000000028, 000000080000000000000029] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.6/data --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: get 8 WAL file(s) from archive: 000000080000000000000022...000000080000000000000029",
"P01 DETAIL: found 000000080000000000000022 in the archive",
"P02 DETAIL: found 000000080000000000000023 in the archive",
"P01 DETAIL: found 000000080000000000000024 in the archive",
"P02 DETAIL: found 000000080000000000000025 in the archive",
"P01 DETAIL: found 000000080000000000000026 in the archive",
"P02 DETAIL: found 000000080000000000000027 in the archive",
"P01 DETAIL: unable to find 000000080000000000000028 in the archive",
"P02 DETAIL: unable to find 000000080000000000000029 in the archive",
" [filtered 4 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/pgsql/9.6/data"
}
},
"global" : {
"backup-standby" : {
"value" : "y"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-path=/var/lib/pgsql/9.6/data",
"pg2-host=pg-standby",
"pg2-path=/var/lib/pgsql/9.6/data",
"",
"[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 pg_start_backup(): backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000080000000000000029, lsn = 0/29000028",
"P00 INFO: wait for replay on the standby to reach 0/29000028",
"P00 INFO: replay on the standby reached 0/29000028",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.6/data/global/pg_control (8KB, 0%) checksum d4f91f16012368193f47381ad89cce59975cff0c",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.6/data/pg_log/postgresql.log (5.4KB, 0%) checksum 9252c3a028db5aa0f3a677dff40b24d6cac23651",
"P02 INFO: backup file pg-standby:/var/lib/pgsql/9.6/data/base/12470/2608 (440KB, 20%) checksum 636cca9e7d6dd03a1042b38eb676098069eaa805",
"P03 INFO: backup file pg-standby:/var/lib/pgsql/9.6/data/base/12470/1249 (360KB, 36%) checksum 22472cdf55cb5ffa16e8fc4eb35696cb5ff88998",
"P04 INFO: backup file pg-standby:/var/lib/pgsql/9.6/data/base/12470/2673 (344KB, 52%) checksum d5ebd0e1fe736f45e5c553ca38dfe0f76e2043d3",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.6/data/pg_hba.conf (4.2KB, 52%) checksum 1c0bca2f7f44d354aaaefb2c21fd1290b7379690",
"P03 INFO: backup file pg-standby:/var/lib/pgsql/9.6/data/base/12470/2658 (104KB, 57%) checksum 450b1a4b4918f4df353c5b43b347ad19f012724d",
"P04 INFO: backup file pg-standby:/var/lib/pgsql/9.6/data/base/12470/1259 (88KB, 61%) checksum 59e2df36348c4fed3864302aaa29a50b5089555e",
" [filtered 1146 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo systemctl stop postgresql-9.6.service"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo systemctl stop postgresql-9.6.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-10/bin/initdb \\",
" -D /var/lib/pgsql/10/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-10/bin/pg_upgrade \\",
" --old-bindir=/usr/pgsql-9.6/bin \\",
" --new-bindir=/usr/pgsql-10/bin \\",
" --old-datadir=/var/lib/pgsql/9.6/data \\",
" --new-datadir=/var/lib/pgsql/10/data \\",
" --old-options=\" -c config_file=/var/lib/pgsql/9.6/data/postgresql.conf\" \\",
" --new-options=\" -c config_file=/var/lib/pgsql/10/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 70 lines of output]",
"Checking for hash indexes ok",
"",
"Upgrade Complete",
"----------------",
"Optimizer statistics are not transferred by pg_upgrade so,",
" [filtered 4 lines of output]"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/10/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"archive_command" : {
"value" : "'pgbackrest --stanza=demo archive-push %p'"
},
"archive_mode" : {
"value" : "on"
},
"listen_addresses" : {
"value" : "'*'"
},
"log_line_prefix" : {
"value" : "''"
},
"max_wal_senders" : {
"value" : "3"
},
"port" : {
"value" : "5432"
},
"wal_level" : {
"value" : "replica"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"archive_command = 'pgbackrest --stanza=demo archive-push %p'",
"archive_mode = on",
"listen_addresses = '*'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"port = 5432",
"wal_level = replica"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/pgsql/10/data"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/10/data",
"",
"[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/pgsql/10/data"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/10/data",
"recovery-option=primary_conninfo=host=172.17.0.4 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/pgsql/10/data"
},
"pg2-path" : {
"value" : "/var/lib/pgsql/10/data"
}
},
"global" : {
"backup-standby" : {
"value" : "n"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-path=/var/lib/pgsql/10/data",
"pg2-host=pg-standby",
"pg2-path=/var/lib/pgsql/10/data",
"",
"[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 /var/lib/pgsql/9.6/data/pg_hba.conf \\",
" /var/lib/pgsql/10/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 pgbackrest pgbackrest --stanza=demo --no-online \\",
" --log-level-console=info stanza-upgrade"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"completed successfully"
]
},
"host" : "repository",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: stanza-upgrade command begin 2.23: --no-backup-standby --log-level-console=info --log-level-stderr=off --no-log-timestamp --no-online --pg1-host=pg-primary --pg2-host=pg-standby --pg1-path=/var/lib/pgsql/10/data --pg2-path=/var/lib/pgsql/10/data --repo1-path=/var/lib/pgbackrest --stanza=demo",
"P00 INFO: stanza-upgrade command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo systemctl start postgresql-10.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-10.service"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"● postgresql-10.service - PostgreSQL 10 database server",
" Loaded: loaded (/usr/lib/systemd/system/postgresql-10.service; disabled; vendor preset: disabled)",
" Active: active (running) since Mon 2020-01-27 05:17:49 UTC; 321ms ago",
" Docs: https://www.postgresql.org/docs/10/static/",
" Process: 3920 ExecStartPre=/usr/pgsql-10/bin/postgresql-10-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)",
" Main PID: 3925 (postmaster)",
" CGroup: /docker/d6e95cc6148703ad9dfad19ad0fe232ce0c28a3ab83453fb530b474f305de9a4/system.slice/postgresql-10.service",
" ├─3925 /usr/pgsql-10/bin/postmaster -D /var/lib/pgsql/10/data/",
" ├─3926 postgres: logger process ",
" ├─3928 postgres: checkpointer process ",
" ├─3929 postgres: writer process ",
" ├─3930 postgres: wal writer process ",
" ├─3931 postgres: autovacuum launcher process ",
" ├─3932 postgres: archiver process ",
" ├─3933 postgres: stats collector process ",
" └─3934 postgres: bgworker: logical replication launcher "
]
}
},
{
"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/9.6/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/9.6/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-10/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 pg-2: [DbConnectError] raised from remote-0 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/10/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-10.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-path=/var/lib/pgsql/10/data",
"pg2-host=pg-standby",
"pg2-path=/var/lib/pgsql/10/data",
"",
"[global]",
"backup-standby=y",
"process-max=3",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
"start-fast=y"
]
}
}
]
}
}
}