1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2025-03-03 14:52:21 +02:00
pgbackrest/doc/resource/exe.cache
David Steele a8143ec125 v2.04: Critical Bug Fix for Backup Resume
IMPORTANT NOTE: This release fixes a critical bug in the backup resume feature. All resumed backups prior to this release should be considered inconsistent. A backup will be resumed after a prior backup fails, unless resume=n has been specified. A resumed backup can be identified by checking the backup log for the message "aborted backup of same type exists, will be cleaned to remove invalid files and resumed". If the message exists, do not use this backup or any backup in the same set for a restore and check the restore logs to see if a resumed backup was restored. If so, there may be inconsistent data in the cluster.

Bug Fixes:

* Fix critical bug in resume that resulted in inconsistent backups. A regression in v0.82 removed the timestamp comparison when deciding which files from the aborted backup to keep on resume. See note above for more details. (Reported by David Youatt, Yogesh Sharma, Stephen Frost.)
* Fix error in selective restore when only one user database exists in the cluster. (Fixed by Cynthia Shang. Reported by Nj Baliyan.)
* Fix non-compliant ISO-8601 timestamp format in S3 authorization headers. AWS and some gateways were tolerant of space rather than zero-padded hours while others were not. (Fixed by Andrew Schwartz.)

Features:

* PostgreSQL 11 Beta 2 support.

Improvements:

* Improve the HTTP client to set content-length to 0 when not specified by the server. S3 (and gateways) always set content-length or transfer-encoding but HTTP 1.1 does not require it and proxies (e.g. HAProxy) may not include either. (Suggested by Adam K. Sumner.)
* Set search_path = 'pg_catalog' on PostgreSQL connections. (Suggested by Stephen Frost.)
2018-07-05 20:16:41 -04:00

12503 lines
478 KiB
Plaintext

{
"co6" : {
"all" : {
"user-guide" : [
{
"key" : {
"id" : "s3",
"image" : "pgbackrest/test:s3-server-20180612A",
"name" : "s3-server",
"os" : "co6",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.2"
}
},
{
"key" : {
"id" : "build",
"image" : "centos:6",
"name" : "build",
"os" : "co6",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.3"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
" \\",
" mkdir -p -m 700 /root/.ssh && \\",
" echo '-----BEGIN RSA PRIVATE KEY-----' > /root/.ssh/id_rsa && \\",
" echo 'MIICXwIBAAKBgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ou' >> /root/.ssh/id_rsa && \\",
" echo 'X3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY' >> /root/.ssh/id_rsa && \\",
" echo '/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazwIDAQAB' >> /root/.ssh/id_rsa && \\",
" echo 'AoGBAJXa6xzrnFVmwgK5BKzYuX/YF5TPgk2j80ch0ct50buQXH/Cb0/rUH5i4jWS' >> /root/.ssh/id_rsa && \\",
" echo 'T6Hy/DFUehnuzpvV6O9auTOhDs3BhEKFRuRLn1nBwTtZny5Hh+cw7azUCEHFCJlz' >> /root/.ssh/id_rsa && \\",
" echo 'makCrVbgawtno6oU/pFgQm1FcxD0f+Me5ruNcLHqUZsPQwkRAkEA+8pG+ckOlz6R' >> /root/.ssh/id_rsa && \\",
" echo 'AJLIHedmfcrEY9T7sfdo83bzMOz8H5soUUP4aOTLJYCla1LO7JdDnXMGo0KxaHBP' >> /root/.ssh/id_rsa && \\",
" echo 'l8j5zDmVewJBANVVPDJr1w37m0FBi37QgUOAijVfLXgyPMxYp2uc9ddjncif0063' >> /root/.ssh/id_rsa && \\",
" echo '0Wc0FQefoPszf3CDrHv/RHvhHq97jXDwTb0CQQDgH83NygoS1r57pCw9chzpG/R0' >> /root/.ssh/id_rsa && \\",
" echo 'aMEiSPhCvz757fj+qT3aGIal2AJ7/2c/gRZvwrWNETZ3XIZOUKqIkXzJLPjBAkEA' >> /root/.ssh/id_rsa && \\",
" echo 'wnP799W2Y8d4/+VX2pMBkF7lG7sSviHEq1sP2BZtPBRQKSQNvw3scM7XcGh/mxmY' >> /root/.ssh/id_rsa && \\",
" echo 'yx0qpqfKa8SKbNgI1+4iXQJBAOlg8MJLwkUtrG+p8wf69oCuZsnyv0K6UMDxm6/8' >> /root/.ssh/id_rsa && \\",
" echo 'cbvfmvODulYFaIahaqHWEZoRo5CLYZ7gN43WHPOrKxdDL78=' >> /root/.ssh/id_rsa && \\",
" echo '-----END RSA PRIVATE KEY-----' >> /root/.ssh/id_rsa && \\",
" echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ouX3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazw== root@pgbackrest-doc' > /root/.ssh/authorized_keys && \\",
" echo 'Host *' > /root/.ssh/config && \\",
" echo ' StrictHostKeyChecking no' >> /root/.ssh/config && \\",
" chmod 600 /root/.ssh/* \\",
" "
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"yum install openssh-server openssh-clients sudo wget vim"
],
"cmd-extra" : "-y 2>&1",
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"adduser -n vagrant"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"service sshd start"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo mkdir /root/pgbackrest-release-2.04"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo cp -r /backrest/libc /root/pgbackrest-release-2.04"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo cp -r /backrest/src /root/pgbackrest-release-2.04"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo yum install build-essential gcc openssl-devel perl-ExtUtils-Embed"
],
"cmd-extra" : "-y 2>&1",
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"perl -V | grep USE_64_BIT_INT"
],
"host" : "build",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.04/src"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"id" : "pg1",
"image" : "centos:6",
"name" : "pg-primary",
"os" : "co6",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.4"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
" \\",
" mkdir -p -m 700 /root/.ssh && \\",
" echo '-----BEGIN RSA PRIVATE KEY-----' > /root/.ssh/id_rsa && \\",
" echo 'MIICXwIBAAKBgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ou' >> /root/.ssh/id_rsa && \\",
" echo 'X3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY' >> /root/.ssh/id_rsa && \\",
" echo '/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazwIDAQAB' >> /root/.ssh/id_rsa && \\",
" echo 'AoGBAJXa6xzrnFVmwgK5BKzYuX/YF5TPgk2j80ch0ct50buQXH/Cb0/rUH5i4jWS' >> /root/.ssh/id_rsa && \\",
" echo 'T6Hy/DFUehnuzpvV6O9auTOhDs3BhEKFRuRLn1nBwTtZny5Hh+cw7azUCEHFCJlz' >> /root/.ssh/id_rsa && \\",
" echo 'makCrVbgawtno6oU/pFgQm1FcxD0f+Me5ruNcLHqUZsPQwkRAkEA+8pG+ckOlz6R' >> /root/.ssh/id_rsa && \\",
" echo 'AJLIHedmfcrEY9T7sfdo83bzMOz8H5soUUP4aOTLJYCla1LO7JdDnXMGo0KxaHBP' >> /root/.ssh/id_rsa && \\",
" echo 'l8j5zDmVewJBANVVPDJr1w37m0FBi37QgUOAijVfLXgyPMxYp2uc9ddjncif0063' >> /root/.ssh/id_rsa && \\",
" echo '0Wc0FQefoPszf3CDrHv/RHvhHq97jXDwTb0CQQDgH83NygoS1r57pCw9chzpG/R0' >> /root/.ssh/id_rsa && \\",
" echo 'aMEiSPhCvz757fj+qT3aGIal2AJ7/2c/gRZvwrWNETZ3XIZOUKqIkXzJLPjBAkEA' >> /root/.ssh/id_rsa && \\",
" echo 'wnP799W2Y8d4/+VX2pMBkF7lG7sSviHEq1sP2BZtPBRQKSQNvw3scM7XcGh/mxmY' >> /root/.ssh/id_rsa && \\",
" echo 'yx0qpqfKa8SKbNgI1+4iXQJBAOlg8MJLwkUtrG+p8wf69oCuZsnyv0K6UMDxm6/8' >> /root/.ssh/id_rsa && \\",
" echo 'cbvfmvODulYFaIahaqHWEZoRo5CLYZ7gN43WHPOrKxdDL78=' >> /root/.ssh/id_rsa && \\",
" echo '-----END RSA PRIVATE KEY-----' >> /root/.ssh/id_rsa && \\",
" echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ouX3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazw== root@pgbackrest-doc' > /root/.ssh/authorized_keys && \\",
" echo 'Host *' > /root/.ssh/config && \\",
" echo ' StrictHostKeyChecking no' >> /root/.ssh/config && \\",
" chmod 600 /root/.ssh/* \\",
" "
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"yum install openssh-server openssh-clients sudo wget vim"
],
"cmd-extra" : "-y 2>&1",
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"adduser -n vagrant"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"service sshd start"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo rpm -ivh \\",
" http://yum.postgresql.org/9.5/redhat/rhel-6-x86_64/pgdg-centos95-9.5-3.noarch.rpm"
],
"cmd-extra" : "2>&1",
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo yum install postgresql95-server"
],
"cmd-extra" : "-y 2>&1",
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/root/pgbackrest-release-2.04/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 yum install perl perl-Time-HiRes perl-parent perl-JSON \\",
" perl-Digest-SHA perl-DBD-Pg perl-XML-LibXML perl-IO-Socket-SSL"
],
"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 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.04 - 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 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.04: --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 stored in the archive at "
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: check command begin 2.04: --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 stored in the archive at '/var/lib/pgbackrest/archive/demo/9.5-1/0000000100000000/000000010000000000000001-90de4b81bd3128793639a5d9551dcee82d6feb0a.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.04: --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() with label \"pgBackRest backup started at 2018-07-05 22:41:04\": 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.5MB",
"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 4 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"20180705-224104F"
]
}
},
{
"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/pgsql/9.5/data/global/pg_control (8KB, 97%) checksum 9e27e9e9db72563ceac179390f53c55af0a1c34d",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/backup_label (236B, 100%) checksum 41b6eb3c4d25354ac072f6dcf5de8ab726bc4434",
"P00 INFO: diff backup size = 8.2KB",
"P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000010000000000000003, lsn = 0/30000F8",
" [filtered 4 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",
"",
" db (current)",
" wal archive min/max (9.5-1): 000000010000000000000002 / 000000010000000000000003",
"",
" full backup: 20180705-224104F",
" timestamp start/stop: 2018-07-05 22:41:04 / 2018-07-05 22:41:15",
" wal start/stop: 000000010000000000000002 / 000000010000000000000002",
" database size: 20.5MB, backup size: 20.5MB",
" repository size: 2.4MB, repository backup size: 2.4MB",
"",
" diff backup: 20180705-224104F_20180705-224116D",
" timestamp start/stop: 2018-07-05 22:41:16 / 2018-07-05 22:41:19",
" wal start/stop: 000000010000000000000003 / 000000010000000000000003",
" database size: 20.5MB, backup size: 8.2KB",
" repository size: 2.4MB, repository backup size: 400B",
" backup reference list: 20180705-224104F"
]
}
},
{
"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 -u postgres sleep 2"
],
"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.04: --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 = 20180705-224104F_20180705-224116D, version = 2.04",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-07-05 22:41:40\": backup begins after the next regular checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000005, lsn = 0/5000028",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/pg_multixact/offsets/0000 (8KB, 31%) checksum 0631457264ff7f8d5fb1edc2c0211992a67c73e6",
" [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.04: --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 = 20180705-224104F_20180705-224140I, version = 2.04",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-07-05 22:41:44\": 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.5/data/global/pg_control (8KB, 97%) checksum a110e1592f98d6f9176591ba5d5980e57827afa5",
" [filtered 8 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() with label \"pgBackRest backup started at 2018-07-05 22:41:49\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000007, lsn = 0/7000028",
"P00 ERROR: [047]: unable to create path '/var/lib/pgbackrest/backup/demo/20180705-224104F_20180705-224149I': 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.04: --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 = 20180705-224104F_20180705-224144I, version = 2.04",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-07-05 22:41:51\": backup begins after the requested immediate checkpoint completes",
"P00 ERROR: [057]: ERROR: a backup is already in progress",
" HINT: Run pg_stop_backup() and try again.:",
" select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS.US TZ'), pg_xlogfile_name(lsn), lsn::text from pg_start_backup('pgBackRest backup started at 2018-07-05 22:41:51', true) as lsn"
]
}
},
{
"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.04: --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 = 20180705-224104F_20180705-224144I, version = 2.04",
"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: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-07-05 22:41:53\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000008, lsn = 0/8000028",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/global/pg_control (8KB, 85%) checksum 868375ebd5ff30b76558c34653caad07bedc8279",
" [filtered 9 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest --output=json info"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"[",
" {",
" \"archive\" : [",
" {",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"id\" : \"9.5-1\",",
" \"max\" : \"000000020000000000000008\",",
" \"min\" : \"000000010000000000000002\"",
" }",
" ],",
" \"backup\" : [",
" {",
" \"archive\" : {",
" \"start\" : \"000000010000000000000002\",",
" \"stop\" : \"000000010000000000000002\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.04\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 21575104,",
" \"repository\" : {",
" \"delta\" : 2530704,",
" \"size\" : 2530704",
" },",
" \"size\" : 21575104",
" },",
" \"label\" : \"20180705-224104F\",",
" \"prior\" : null,",
" \"reference\" : null,",
" \"timestamp\" : {",
" \"start\" : 1530830464,",
" \"stop\" : 1530830475",
" },",
" \"type\" : \"full\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000010000000000000003\",",
" \"stop\" : \"000000010000000000000003\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.04\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 8428,",
" \"repository\" : {",
" \"delta\" : 400,",
" \"size\" : 2530704",
" },",
" \"size\" : 21575104",
" },",
" \"label\" : \"20180705-224104F_20180705-224116D\",",
" \"prior\" : \"20180705-224104F\",",
" \"reference\" : [",
" \"20180705-224104F\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1530830476,",
" \"stop\" : 1530830479",
" },",
" \"type\" : \"diff\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000020000000000000005\",",
" \"stop\" : \"000000020000000000000005\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.04\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 25732,",
" \"repository\" : {",
" \"delta\" : 960,",
" \"size\" : 2530848",
" },",
" \"size\" : 21575672",
" },",
" \"label\" : \"20180705-224104F_20180705-224140I\",",
" \"prior\" : \"20180705-224104F_20180705-224116D\",",
" \"reference\" : [",
" \"20180705-224104F\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1530830500,",
" \"stop\" : 1530830503",
" },",
" \"type\" : \"incr\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000020000000000000006\",",
" \"stop\" : \"000000020000000000000006\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.04\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 8428,",
" \"repository\" : {",
" \"delta\" : 400,",
" \"size\" : 2530848",
" },",
" \"size\" : 21575672",
" },",
" \"label\" : \"20180705-224104F_20180705-224144I\",",
" \"prior\" : \"20180705-224104F_20180705-224140I\",",
" \"reference\" : [",
" \"20180705-224104F\",",
" \"20180705-224104F_20180705-224140I\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1530830504,",
" \"stop\" : 1530830508",
" },",
" \"type\" : \"incr\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000020000000000000008\",",
" \"stop\" : \"000000020000000000000008\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.04\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 9628,",
" \"repository\" : {",
" \"delta\" : 976,",
" \"size\" : 2531008",
" },",
" \"size\" : 21575952",
" },",
" \"label\" : \"20180705-224104F_20180705-224153I\",",
" \"prior\" : \"20180705-224104F_20180705-224144I\",",
" \"reference\" : [",
" \"20180705-224104F\",",
" \"20180705-224104F_20180705-224140I\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1530830513,",
" \"stop\" : 1530830518",
" },",
" \"type\" : \"incr\"",
" }",
" ],",
" \"db\" : [",
" {",
" \"id\" : 1,",
" \"system-id\" : 6574866711600071268,",
" \"version\" : \"9.5\"",
" }",
" ],",
" \"name\" : \"demo\",",
" \"status\" : {",
" \"code\" : 0,",
" \"message\" : \"ok\"",
" }",
" }",
"]"
]
}
},
{
"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 /backrest/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 PostgresSQL",
"--",
"-- Use copy to export data from the pgBackRest info command into the jsonb",
"-- type so it can be queried directly by PostgresSQL.",
"",
"-- 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 directory from the pgBackRest into command",
" copy temp_pgbackrest_data (data)",
" from program",
" 'pgbackrest --output=json info | tr ''\\n'' '' ''' (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\" | 2018-07-05 22:41:58+00 | 000000020000000000000008",
"(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 20180705-224104F|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 860 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin",
"P00 DETAIL: archive retention on backup 20180705-224104F, 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 ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"20180705-224201F"
]
}
},
{
"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\\: 20180705-224104F|archive retention on backup 20180705-224201F|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 860 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin",
"P00 INFO: expire full backup set: 20180705-224104F, 20180705-224104F_20180705-224116D, 20180705-224104F_20180705-224140I, 20180705-224104F_20180705-224144I, 20180705-224104F_20180705-224153I",
"P00 INFO: remove expired backup 20180705-224104F_20180705-224153I",
"P00 INFO: remove expired backup 20180705-224104F_20180705-224144I",
" [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 ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"20180705-224214F_20180705-224228D"
]
}
},
{
"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: 20180705-224214F_20180705-224228D"
]
},
"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",
"P00 INFO: expire diff backup set: 20180705-224214F_20180705-224228D, 20180705-224214F_20180705-224233I",
"P00 INFO: remove expired backup 20180705-224214F_20180705-224233I",
"P00 INFO: remove expired backup 20180705-224214F_20180705-224228D"
]
}
},
{
"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 ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"20180705-224214F_20180705-224237D"
]
}
},
{
"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: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000020000000000000012, lsn = 0/120000F8",
"P00 INFO: new backup label = 20180705-224214F_20180705-224242D",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"20180705-224214F_20180705-224242D"
]
}
},
{
"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 20180705-224214F_20180705-224237D|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: expire command begin 2.04: --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 20180705-224201F, archiveId = 9.5-1, start = 00000002000000000000000A, stop = 00000002000000000000000A",
"P00 DETAIL: archive retention on backup 20180705-224214F, archiveId = 9.5-1, start = 00000002000000000000000B, stop = 00000002000000000000000B",
"P00 DETAIL: archive retention on backup 20180705-224214F_20180705-224237D, archiveId = 9.5-1, start = 00000002000000000000000F, stop = 00000002000000000000000F",
"P00 DETAIL: archive retention on backup 20180705-224214F_20180705-224242D, archiveId = 9.5-1, start = 000000020000000000000012",
"P00 DETAIL: remove archive: archiveId = 9.5-1, start = 00000002000000000000000C, stop = 00000002000000000000000E",
"P00 DETAIL: remove archive: archiveId = 9.5-1, start = 000000020000000000000010, stop = 000000020000000000000011",
"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|check\\/clean db path|restore global\\/pg_control"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 878 lines of output]",
"P01 DETAIL: restore file /var/lib/pgsql/9.5/data/base/1/12211 - exists and is zero size (0B, 100%)",
"P00 INFO: write /var/lib/pgsql/9.5/data/recovery.conf",
"P00 INFO: restore global/pg_control (performed last to ensure aborted restores cannot be started)",
"P00 INFO: restore 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" : {
"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 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" : [
"2018-07-05 22:43:22.931222+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=2018-07-05 22:43:22.931222+00\" 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" : [
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
"recovery_target_time = '2018-07-05 22:43:22.931222+00'"
]
}
},
{
"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 2018-07-05 22:43:16 UTC",
"LOG: starting point-in-time recovery to 2018-07-05 22:43:22.931222+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 630, time 2018-07-05 22:43:23.094923+00",
"LOG: redo done at 0/1801BBF8",
"LOG: last completed transaction was at log time 2018-07-05 22:43:22.73003+00",
"LOG: selected new timeline ID: 5",
"LOG: restored log file \"00000004.history\" from archive",
" [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 ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"20180705-224214F_20180705-224315D"
]
}
},
{
"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=2018-07-05 22:43:22.931222+00\" 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 2018-07-05 22:43:33 UTC",
"LOG: starting point-in-time recovery to 2018-07-05 22:43:22.931222+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" : [
"20180705-224214F_20180705-224315D"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"stanza: demo",
" status: ok",
"",
" db (current)",
" wal archive min/max (9.5-1): 00000002000000000000000A / 000000050000000000000019",
"",
" full backup: 20180705-224201F",
" timestamp start/stop: 2018-07-05 22:42:01 / 2018-07-05 22:42:13",
" wal start/stop: 00000002000000000000000A / 00000002000000000000000A",
" database size: 20.5MB, backup size: 20.5MB",
" repository size: 2.4MB, repository backup size: 2.4MB",
"",
" full backup: 20180705-224214F",
" timestamp start/stop: 2018-07-05 22:42:14 / 2018-07-05 22:42:27",
" wal start/stop: 00000002000000000000000B / 00000002000000000000000B",
" database size: 20.5MB, backup size: 20.5MB",
" repository size: 2.4MB, repository backup size: 2.4MB",
"",
" diff backup: 20180705-224214F_20180705-224242D",
" timestamp start/stop: 2018-07-05 22:42:42 / 2018-07-05 22:42:45",
" wal start/stop: 000000020000000000000012 / 000000020000000000000012",
" database size: 20.5MB, backup size: 113.8KB",
" repository size: 2.4MB, repository backup size: 12.5KB",
" backup reference list: 20180705-224214F",
"",
" incr backup: 20180705-224214F_20180705-224254I",
" timestamp start/stop: 2018-07-05 22:42:54 / 2018-07-05 22:43:05",
" wal start/stop: 000000030000000000000014 / 000000030000000000000014",
" database size: 33.9MB, backup size: 13.4MB",
" repository size: 4MB, repository backup size: 1.6MB",
" backup reference list: 20180705-224214F, 20180705-224214F_20180705-224242D",
"",
" diff backup: 20180705-224214F_20180705-224315D",
" timestamp start/stop: 2018-07-05 22:43:15 / 2018-07-05 22:43:22",
" wal start/stop: 000000040000000000000017 / 000000040000000000000017",
" database size: 27.2MB, backup size: 6.8MB",
" repository size: 3.2MB, repository backup size: 831.6KB",
" backup reference list: 20180705-224214F",
"",
" incr backup: 20180705-224214F_20180705-224332I",
" timestamp start/stop: 2018-07-05 22:43:32 / 2018-07-05 22:43:36",
" wal start/stop: 000000050000000000000019 / 000000050000000000000019",
" database size: 27.2MB, backup size: 1.9MB",
" repository size: 3.2MB, repository backup size: 209.9KB",
" backup reference list: 20180705-224214F, 20180705-224214F_20180705-224315D"
]
}
},
{
"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=2018-07-05 22:43:22.931222+00\" \\",
" --set=20180705-224214F_20180705-224315D 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 2018-07-05 22:43:16 UTC",
"LOG: starting point-in-time recovery to 2018-07-05 22:43:22.931222+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 630, time 2018-07-05 22:43:23.094923+00",
"LOG: redo done at 0/1801BBF8",
"LOG: last completed transaction was at log time 2018-07-05 22:43:22.73003+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" : [
"aws s3 --no-verify-ssl mb s3://demo-bucket 2>&1"
],
"host" : "s3-server",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-cipher-pass" : {},
"repo1-cipher-type" : {
"value" : "none"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"repo1-cipher-type=none",
"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" : {
"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.amazonaws.com"
},
"repo1-s3-key" : {
"value" : "accessKey1"
},
"repo1-s3-key-secret" : {
"value" : "verySecretKey1"
},
"repo1-s3-region" : {
"value" : "us-east-1"
},
"repo1-s3-verify-ssl" : {
"value" : "n"
},
"repo1-type" : {
"value" : "s3"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"process-max=4",
"repo1-cipher-type=none",
"repo1-path=/demo-repo",
"repo1-retention-diff=2",
"repo1-retention-full=2",
"repo1-s3-bucket=demo-bucket",
"repo1-s3-endpoint=s3.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" : [
"echo \"172.17.0.2 demo-bucket.s3.amazonaws.com s3.amazonaws.com\" | tee -a /etc/hosts"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest --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.04: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-type=none --repo1-path=/demo-repo --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --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 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.04: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --process-max=4 --repo1-cipher-type=none --repo1-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --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() with label \"pgBackRest backup started at 2018-07-05 22:43:58\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000070000000000000019, lsn = 0/19000028",
" [filtered 1119 lines of output]",
"P02 INFO: backup file /var/lib/pgsql/9.5/data/base/1/12216 (0B, 100%)",
"P03 INFO: backup file /var/lib/pgsql/9.5/data/base/1/12211 (0B, 100%)",
"P00 INFO: full backup size = 27.3MB",
"P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000070000000000000019, lsn = 0/19000130",
" [filtered 4 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.04: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-type=none --repo1-path=/demo-repo --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --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.04: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-type=none --repo1-path=/demo-repo --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=demo",
"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" : "centos:6",
"name" : "repository",
"os" : "co6",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.5"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
" \\",
" mkdir -p -m 700 /root/.ssh && \\",
" echo '-----BEGIN RSA PRIVATE KEY-----' > /root/.ssh/id_rsa && \\",
" echo 'MIICXwIBAAKBgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ou' >> /root/.ssh/id_rsa && \\",
" echo 'X3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY' >> /root/.ssh/id_rsa && \\",
" echo '/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazwIDAQAB' >> /root/.ssh/id_rsa && \\",
" echo 'AoGBAJXa6xzrnFVmwgK5BKzYuX/YF5TPgk2j80ch0ct50buQXH/Cb0/rUH5i4jWS' >> /root/.ssh/id_rsa && \\",
" echo 'T6Hy/DFUehnuzpvV6O9auTOhDs3BhEKFRuRLn1nBwTtZny5Hh+cw7azUCEHFCJlz' >> /root/.ssh/id_rsa && \\",
" echo 'makCrVbgawtno6oU/pFgQm1FcxD0f+Me5ruNcLHqUZsPQwkRAkEA+8pG+ckOlz6R' >> /root/.ssh/id_rsa && \\",
" echo 'AJLIHedmfcrEY9T7sfdo83bzMOz8H5soUUP4aOTLJYCla1LO7JdDnXMGo0KxaHBP' >> /root/.ssh/id_rsa && \\",
" echo 'l8j5zDmVewJBANVVPDJr1w37m0FBi37QgUOAijVfLXgyPMxYp2uc9ddjncif0063' >> /root/.ssh/id_rsa && \\",
" echo '0Wc0FQefoPszf3CDrHv/RHvhHq97jXDwTb0CQQDgH83NygoS1r57pCw9chzpG/R0' >> /root/.ssh/id_rsa && \\",
" echo 'aMEiSPhCvz757fj+qT3aGIal2AJ7/2c/gRZvwrWNETZ3XIZOUKqIkXzJLPjBAkEA' >> /root/.ssh/id_rsa && \\",
" echo 'wnP799W2Y8d4/+VX2pMBkF7lG7sSviHEq1sP2BZtPBRQKSQNvw3scM7XcGh/mxmY' >> /root/.ssh/id_rsa && \\",
" echo 'yx0qpqfKa8SKbNgI1+4iXQJBAOlg8MJLwkUtrG+p8wf69oCuZsnyv0K6UMDxm6/8' >> /root/.ssh/id_rsa && \\",
" echo 'cbvfmvODulYFaIahaqHWEZoRo5CLYZ7gN43WHPOrKxdDL78=' >> /root/.ssh/id_rsa && \\",
" echo '-----END RSA PRIVATE KEY-----' >> /root/.ssh/id_rsa && \\",
" echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ouX3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazw== root@pgbackrest-doc' > /root/.ssh/authorized_keys && \\",
" echo 'Host *' > /root/.ssh/config && \\",
" echo ' StrictHostKeyChecking no' >> /root/.ssh/config && \\",
" chmod 600 /root/.ssh/* \\",
" "
],
"host" : "repository",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"yum install openssh-server openssh-clients sudo wget vim"
],
"cmd-extra" : "-y 2>&1",
"host" : "repository",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"adduser -n vagrant"
],
"host" : "repository",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant"
],
"host" : "repository",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"service sshd start"
],
"host" : "repository",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"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 scp build:/root/pgbackrest-release-2.04/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 yum install perl perl-Time-HiRes perl-parent perl-JSON \\",
" perl-Digest-SHA perl-DBD-Pg perl-XML-LibXML perl-IO-Socket-SSL"
],
"cmd-extra" : "-y 2>&1",
"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" : [
"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" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"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" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u pgbackrest ssh postgres@pg-primary"
],
"cmd-extra" : "-o StrictHostKeyChecking=no ls",
"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 ls",
"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",
"",
" db (current)",
" wal archive min/max (9.5-1): 000000080000000000000020 / 000000080000000000000021",
"",
" full backup: 20180705-224600F",
" timestamp start/stop: 2018-07-05 22:46:00 / 2018-07-05 22:46:17",
" wal start/stop: 000000080000000000000020 / 000000080000000000000020",
" database size: 27.3MB, backup size: 27.3MB",
" repository size: 3.1MB, repository backup size: 3.1MB",
"",
" full backup: 20180705-224618F",
" timestamp start/stop: 2018-07-05 22:46:18 / 2018-07-05 22:46:25",
" wal start/stop: 000000080000000000000021 / 000000080000000000000021",
" database size: 27.3MB, backup size: 27.3MB",
" repository size: 3.1MB, repository backup size: 3.1MB"
]
}
},
{
"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" : "62",
"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 ERROR: [062]: raised from remote process on 'pg-primary': stop file exists for all stanzas"
]
}
},
{
"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" : "62",
"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 ERROR: [062]: raised from remote process on 'pg-primary': stop file exists for stanza demo"
]
}
},
{
"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" : "centos:6",
"name" : "pg-standby",
"os" : "co6",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.6"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
" \\",
" mkdir -p -m 700 /root/.ssh && \\",
" echo '-----BEGIN RSA PRIVATE KEY-----' > /root/.ssh/id_rsa && \\",
" echo 'MIICXwIBAAKBgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ou' >> /root/.ssh/id_rsa && \\",
" echo 'X3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY' >> /root/.ssh/id_rsa && \\",
" echo '/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazwIDAQAB' >> /root/.ssh/id_rsa && \\",
" echo 'AoGBAJXa6xzrnFVmwgK5BKzYuX/YF5TPgk2j80ch0ct50buQXH/Cb0/rUH5i4jWS' >> /root/.ssh/id_rsa && \\",
" echo 'T6Hy/DFUehnuzpvV6O9auTOhDs3BhEKFRuRLn1nBwTtZny5Hh+cw7azUCEHFCJlz' >> /root/.ssh/id_rsa && \\",
" echo 'makCrVbgawtno6oU/pFgQm1FcxD0f+Me5ruNcLHqUZsPQwkRAkEA+8pG+ckOlz6R' >> /root/.ssh/id_rsa && \\",
" echo 'AJLIHedmfcrEY9T7sfdo83bzMOz8H5soUUP4aOTLJYCla1LO7JdDnXMGo0KxaHBP' >> /root/.ssh/id_rsa && \\",
" echo 'l8j5zDmVewJBANVVPDJr1w37m0FBi37QgUOAijVfLXgyPMxYp2uc9ddjncif0063' >> /root/.ssh/id_rsa && \\",
" echo '0Wc0FQefoPszf3CDrHv/RHvhHq97jXDwTb0CQQDgH83NygoS1r57pCw9chzpG/R0' >> /root/.ssh/id_rsa && \\",
" echo 'aMEiSPhCvz757fj+qT3aGIal2AJ7/2c/gRZvwrWNETZ3XIZOUKqIkXzJLPjBAkEA' >> /root/.ssh/id_rsa && \\",
" echo 'wnP799W2Y8d4/+VX2pMBkF7lG7sSviHEq1sP2BZtPBRQKSQNvw3scM7XcGh/mxmY' >> /root/.ssh/id_rsa && \\",
" echo 'yx0qpqfKa8SKbNgI1+4iXQJBAOlg8MJLwkUtrG+p8wf69oCuZsnyv0K6UMDxm6/8' >> /root/.ssh/id_rsa && \\",
" echo 'cbvfmvODulYFaIahaqHWEZoRo5CLYZ7gN43WHPOrKxdDL78=' >> /root/.ssh/id_rsa && \\",
" echo '-----END RSA PRIVATE KEY-----' >> /root/.ssh/id_rsa && \\",
" echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ouX3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazw== root@pgbackrest-doc' > /root/.ssh/authorized_keys && \\",
" echo 'Host *' > /root/.ssh/config && \\",
" echo ' StrictHostKeyChecking no' >> /root/.ssh/config && \\",
" chmod 600 /root/.ssh/* \\",
" "
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"yum install openssh-server openssh-clients sudo wget vim"
],
"cmd-extra" : "-y 2>&1",
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"adduser -n vagrant"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"service sshd start"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo rpm -ivh \\",
" http://yum.postgresql.org/9.5/redhat/rhel-6-x86_64/pgdg-centos95-9.5-3.noarch.rpm"
],
"cmd-extra" : "2>&1",
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo yum install postgresql95-server"
],
"cmd-extra" : "-y 2>&1",
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/root/pgbackrest-release-2.04/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 yum install perl perl-Time-HiRes perl-parent perl-JSON \\",
" perl-Digest-SHA perl-DBD-Pg perl-XML-LibXML perl-IO-Socket-SSL"
],
"cmd-extra" : "-y 2>&1",
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo 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" : [
"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" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"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" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u pgbackrest ssh postgres@pg-standby"
],
"cmd-extra" : "-o StrictHostKeyChecking=no ls",
"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 ls",
"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"
},
"recovery-option" : {
"value" : "standby_mode=on"
}
},
"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",
"recovery-option=standby_mode=on",
"",
"[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 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" : [
"standby_mode = 'on'",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/data/postgresql.conf",
"host" : "pg-standby",
"option" : {
"hot_standby" : {
"value" : "on"
},
"log_filename" : {
"value" : "'postgresql.log'"
},
"log_line_prefix" : {
"value" : "''"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"hot_standby = on",
"log_filename = 'postgresql.log'",
"log_line_prefix = ''"
]
}
},
{
"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 2018-07-05 22:46:19 UTC",
"LOG: entering standby mode",
"LOG: restored log file \"00000008.history\" from archive",
"LOG: restored log file \"000000080000000000000021\" from archive",
"LOG: redo starts at 0/21000028",
"LOG: consistent recovery state reached at 0/21000130",
"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/2201F658 | 2018-07-05 22:47:21.777886+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 | 2018-07-05 22:47:23.505987+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" : [
"all other checks passed"
]
},
"host" : "pg-standby",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: check command begin 2.04: --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 xlog cannot be performed on the standby, all other checks passed successfully",
"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=standby_mode=on",
"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 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" : [
"primary_conninfo = 'host=172.17.0.4 port=5432 user=replicator'",
"standby_mode = 'on'",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/data/postgresql.conf",
"host" : "pg-standby",
"option" : {
"hot_standby" : {
"value" : "on"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"hot_standby = on",
"log_filename = 'postgresql.log'",
"log_line_prefix = ''"
]
}
},
{
"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 \"000000080000000000000022\" from archive",
"LOG: started streaming WAL from primary at 0/23000000 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 | 2018-07-05 22:47:37.284722+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 | 2018-07-05 22:47:37.507328+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=standby_mode=on",
"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.04: --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 000000080000000000000028 successfully stored in the archive at '/var/lib/pgbackrest/archive/demo/9.5-1/0000000800000000/000000080000000000000028-ba25939bc05ac0b0c479ee3f04abde0aca6e035c.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 command begin 2.04: [pg_xlog/000000080000000000000023] --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 2 WAL file(s) to archive: 000000080000000000000023...000000080000000000000024",
"P02 DETAIL: pushed WAL file 000000080000000000000024 to archive",
"P01 DETAIL: pushed WAL file 000000080000000000000023 to archive",
"P00 INFO: archive-push command end: completed successfully",
"",
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push command begin 2.04: [pg_xlog/000000080000000000000025] --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 3 WAL file(s) to archive: 000000080000000000000025...000000080000000000000027",
"P02 DETAIL: pushed WAL file 000000080000000000000026 to archive",
"P01 DETAIL: pushed WAL file 000000080000000000000025 to archive",
"P02 DETAIL: pushed WAL file 000000080000000000000027 to archive",
"P00 INFO: archive-push command end: completed successfully",
"",
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push command begin 2.04: [pg_xlog/000000080000000000000028] --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: 000000080000000000000028",
"P01 DETAIL: pushed WAL file 000000080000000000000028 to archive",
"P00 INFO: archive-push 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" : [
"got WAL file [0-F]{24} from archive"
]
},
"host" : "pg-standby",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"-------------------PROCESS START-------------------",
"P00 INFO: archive-get command begin 2.04: [000000080000000000000021, 000000080000000000000022, 000000080000000000000023, 000000080000000000000024, 000000080000000000000025, 000000080000000000000026, 000000080000000000000027, 000000080000000000000028] --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: 000000080000000000000021...000000080000000000000028",
"P01 DETAIL: got WAL file 000000080000000000000021 from archive",
"P02 DETAIL: got WAL file 000000080000000000000022 from archive",
"P01 DETAIL: WAL file 000000080000000000000023 not found in archive",
"P02 DETAIL: WAL file 000000080000000000000024 not found in archive",
" [filtered 33 lines of output]",
"P00 INFO: archive-get command begin 2.04: [000000080000000000000023, 000000080000000000000024, 000000080000000000000025, 000000080000000000000026, 000000080000000000000027, 000000080000000000000028, 000000080000000000000029, 00000008000000000000002A] --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: 000000080000000000000023...00000008000000000000002A",
"P01 DETAIL: got WAL file 000000080000000000000023 from archive",
"P02 DETAIL: got WAL file 000000080000000000000024 from archive",
"P02 DETAIL: got WAL file 000000080000000000000026 from archive",
"P01 DETAIL: got WAL file 000000080000000000000025 from archive",
"P02 DETAIL: got WAL file 000000080000000000000027 from archive",
"P01 DETAIL: got WAL file 000000080000000000000028 from archive",
"P02 DETAIL: WAL file 000000080000000000000029 not found in archive",
"P01 DETAIL: WAL file 00000008000000000000002A not found in archive",
" [filtered 12 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() with label \"pgBackRest backup started at 2018-07-05 22:47:53\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 00000008000000000000002A, lsn = 0/2A000028",
"P00 INFO: wait for replay on the standby to reach 0/2A000028",
"P00 INFO: replay on the standby reached 0/2A0000D0",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/global/pg_control (8KB, 0%) checksum f1a52ec7e10bf40c9b55da2e4255c1bd0fb90ff3",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/pg_log/postgresql.log (5.2KB, 0%) checksum 14536b20cc5686ecd6b6c31abcd311146d6edd3f",
"P02 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2608 (432KB, 20%) checksum 221c3758a4ed7d01260034de499a49e3be387e4e",
"P04 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/1249 (360KB, 37%) checksum 4c29a416e2329b8bd8a448f3e404791ca581d54a",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/pg_hba.conf (4.1KB, 37%) checksum 1c0bca2f7f44d354aaaefb2c21fd1290b7379690",
"P03 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2674 (360KB, 54%) checksum 4ab4d1bdf1eae402ef6d432c118e915aaa621790",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/backup_label (238B, 54%) checksum 3760e951e18af15792ab11152dd3c7d46b3b009c",
"P04 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2658 (112KB, 59%) checksum f76f15aa767fe590a0beb4e7af681e68226ec0c8",
"P02 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2673 (320KB, 74%) checksum 1f51e4ea8dde2047efbef2d6fec2c04993015e47",
" [filtered 33 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 rpm -ivh \\",
" http://yum.postgresql.org/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm"
],
"cmd-extra" : "2>&1",
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo yum install postgresql96-server"
],
"cmd-extra" : "-y",
"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 rpm -ivh \\",
" http://yum.postgresql.org/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm"
],
"cmd-extra" : "2>&1",
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo yum install postgresql96-server"
],
"cmd-extra" : "-y",
"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=standby_mode=on",
"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.04: --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 5765) 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: [056]: raised from remote process on 'pg-standby': 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 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"
]
}
}
]
}
},
"default" : {
"all" : {
"user-guide" : [
{
"key" : {
"id" : "s3",
"image" : "pgbackrest/test:s3-server-20180612A",
"name" : "s3-server",
"os" : "u16",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.2"
}
},
{
"key" : {
"id" : "build",
"image" : "ubuntu:16.04",
"name" : "build",
"os" : "u16",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.3"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sed -i 's/^mesg n/tty -s \\&\\& mesg n/g' /root/.profile"
],
"host" : "build",
"load-env" : false,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"rm /etc/apt/apt.conf.d/70debconf"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"apt-get update"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
" \\",
" mkdir -p -m 700 /root/.ssh && \\",
" echo '-----BEGIN RSA PRIVATE KEY-----' > /root/.ssh/id_rsa && \\",
" echo 'MIICXwIBAAKBgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ou' >> /root/.ssh/id_rsa && \\",
" echo 'X3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY' >> /root/.ssh/id_rsa && \\",
" echo '/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazwIDAQAB' >> /root/.ssh/id_rsa && \\",
" echo 'AoGBAJXa6xzrnFVmwgK5BKzYuX/YF5TPgk2j80ch0ct50buQXH/Cb0/rUH5i4jWS' >> /root/.ssh/id_rsa && \\",
" echo 'T6Hy/DFUehnuzpvV6O9auTOhDs3BhEKFRuRLn1nBwTtZny5Hh+cw7azUCEHFCJlz' >> /root/.ssh/id_rsa && \\",
" echo 'makCrVbgawtno6oU/pFgQm1FcxD0f+Me5ruNcLHqUZsPQwkRAkEA+8pG+ckOlz6R' >> /root/.ssh/id_rsa && \\",
" echo 'AJLIHedmfcrEY9T7sfdo83bzMOz8H5soUUP4aOTLJYCla1LO7JdDnXMGo0KxaHBP' >> /root/.ssh/id_rsa && \\",
" echo 'l8j5zDmVewJBANVVPDJr1w37m0FBi37QgUOAijVfLXgyPMxYp2uc9ddjncif0063' >> /root/.ssh/id_rsa && \\",
" echo '0Wc0FQefoPszf3CDrHv/RHvhHq97jXDwTb0CQQDgH83NygoS1r57pCw9chzpG/R0' >> /root/.ssh/id_rsa && \\",
" echo 'aMEiSPhCvz757fj+qT3aGIal2AJ7/2c/gRZvwrWNETZ3XIZOUKqIkXzJLPjBAkEA' >> /root/.ssh/id_rsa && \\",
" echo 'wnP799W2Y8d4/+VX2pMBkF7lG7sSviHEq1sP2BZtPBRQKSQNvw3scM7XcGh/mxmY' >> /root/.ssh/id_rsa && \\",
" echo 'yx0qpqfKa8SKbNgI1+4iXQJBAOlg8MJLwkUtrG+p8wf69oCuZsnyv0K6UMDxm6/8' >> /root/.ssh/id_rsa && \\",
" echo 'cbvfmvODulYFaIahaqHWEZoRo5CLYZ7gN43WHPOrKxdDL78=' >> /root/.ssh/id_rsa && \\",
" echo '-----END RSA PRIVATE KEY-----' >> /root/.ssh/id_rsa && \\",
" echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ouX3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazw== root@pgbackrest-doc' > /root/.ssh/authorized_keys && \\",
" echo 'Host *' > /root/.ssh/config && \\",
" echo ' StrictHostKeyChecking no' >> /root/.ssh/config && \\",
" chmod 600 /root/.ssh/* \\",
" "
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"apt-get install sudo ssh wget vim"
],
"cmd-extra" : "-y 2>&1",
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"service ssh start"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"adduser --disabled-password --gecos \"\" vagrant"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"echo '%vagrant ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo mkdir /root/pgbackrest-release-2.04"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo cp -r /backrest/libc /root/pgbackrest-release-2.04"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo cp -r /backrest/src /root/pgbackrest-release-2.04"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo apt-get install build-essential libssl-dev libperl-dev"
],
"cmd-extra" : "-y 2>&1",
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"perl -V | grep USE_64_BIT_INT"
],
"host" : "build",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.04/src"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"id" : "pg1",
"image" : "ubuntu:16.04",
"name" : "pg-primary",
"os" : "u16",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.4"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sed -i 's/^mesg n/tty -s \\&\\& mesg n/g' /root/.profile"
],
"host" : "pg-primary",
"load-env" : false,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"rm /etc/apt/apt.conf.d/70debconf"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"apt-get update"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
" \\",
" mkdir -p -m 700 /root/.ssh && \\",
" echo '-----BEGIN RSA PRIVATE KEY-----' > /root/.ssh/id_rsa && \\",
" echo 'MIICXwIBAAKBgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ou' >> /root/.ssh/id_rsa && \\",
" echo 'X3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY' >> /root/.ssh/id_rsa && \\",
" echo '/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazwIDAQAB' >> /root/.ssh/id_rsa && \\",
" echo 'AoGBAJXa6xzrnFVmwgK5BKzYuX/YF5TPgk2j80ch0ct50buQXH/Cb0/rUH5i4jWS' >> /root/.ssh/id_rsa && \\",
" echo 'T6Hy/DFUehnuzpvV6O9auTOhDs3BhEKFRuRLn1nBwTtZny5Hh+cw7azUCEHFCJlz' >> /root/.ssh/id_rsa && \\",
" echo 'makCrVbgawtno6oU/pFgQm1FcxD0f+Me5ruNcLHqUZsPQwkRAkEA+8pG+ckOlz6R' >> /root/.ssh/id_rsa && \\",
" echo 'AJLIHedmfcrEY9T7sfdo83bzMOz8H5soUUP4aOTLJYCla1LO7JdDnXMGo0KxaHBP' >> /root/.ssh/id_rsa && \\",
" echo 'l8j5zDmVewJBANVVPDJr1w37m0FBi37QgUOAijVfLXgyPMxYp2uc9ddjncif0063' >> /root/.ssh/id_rsa && \\",
" echo '0Wc0FQefoPszf3CDrHv/RHvhHq97jXDwTb0CQQDgH83NygoS1r57pCw9chzpG/R0' >> /root/.ssh/id_rsa && \\",
" echo 'aMEiSPhCvz757fj+qT3aGIal2AJ7/2c/gRZvwrWNETZ3XIZOUKqIkXzJLPjBAkEA' >> /root/.ssh/id_rsa && \\",
" echo 'wnP799W2Y8d4/+VX2pMBkF7lG7sSviHEq1sP2BZtPBRQKSQNvw3scM7XcGh/mxmY' >> /root/.ssh/id_rsa && \\",
" echo 'yx0qpqfKa8SKbNgI1+4iXQJBAOlg8MJLwkUtrG+p8wf69oCuZsnyv0K6UMDxm6/8' >> /root/.ssh/id_rsa && \\",
" echo 'cbvfmvODulYFaIahaqHWEZoRo5CLYZ7gN43WHPOrKxdDL78=' >> /root/.ssh/id_rsa && \\",
" echo '-----END RSA PRIVATE KEY-----' >> /root/.ssh/id_rsa && \\",
" echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ouX3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazw== root@pgbackrest-doc' > /root/.ssh/authorized_keys && \\",
" echo 'Host *' > /root/.ssh/config && \\",
" echo ' StrictHostKeyChecking no' >> /root/.ssh/config && \\",
" chmod 600 /root/.ssh/* \\",
" "
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"apt-get install sudo ssh wget vim"
],
"cmd-extra" : "-y 2>&1",
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"service ssh start"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"adduser --disabled-password --gecos \"\" vagrant"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"echo '%vagrant ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main 11' | \\",
" sudo tee -a /etc/apt/sources.list.d/pgdg.list"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \\",
" sudo apt-key add -"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo apt-get update"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo apt-get install postgresql-common"
],
"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 sed -i 's/^\\#create\\_main\\_cluster.*$/create\\_main\\_cluster \\= false/' \\",
" /etc/postgresql-common/createcluster.conf"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo apt-get install postgresql-9.4"
],
"cmd-extra" : "-y 2>&1",
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/root/pgbackrest-release-2.04/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 apt-get install libdbd-pg-perl libio-socket-ssl-perl libxml-libxml-perl"
],
"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 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.04 - 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/9.4/bin/initdb \\",
" -D /var/lib/postgresql/9.4/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 9.4 demo"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"Configuring already existing cluster (configuration: /etc/postgresql/9.4/demo, data: /var/lib/postgresql/9.4/demo, owner: 106:110)",
"Ver Cluster Port Status Owner Data directory Log file",
"9.4 demo 5432 down postgres /var/lib/postgresql/9.4/demo /var/log/postgresql/postgresql-9.4-demo.log"
]
}
},
{
"key" : {
"file" : "/etc/postgresql/9.4/demo/postgresql.conf",
"host" : "pg-primary",
"option" : {
"listen_addresses" : {
"value" : "'*'"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'"
]
}
},
{
"key" : {
"file" : "/etc/postgresql/9.4/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/9.4/demo"
}
},
"global" : {
"log-level-stderr" : {
"value" : "off"
},
"log-timestamp" : {
"value" : "n"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo"
]
}
},
{
"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/9.4/demo",
"",
"[global]",
"repo1-path=/var/lib/pgbackrest"
]
}
},
{
"key" : {
"file" : "/etc/postgresql/9.4/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" : "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",
"wal_level = hot_standby"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.4 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/9.4/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/9.4/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/9.4/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.04: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/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 stored in the archive at "
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: check command begin 2.04: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
"P00 INFO: WAL segment 000000010000000000000001 successfully stored in the archive at '/var/lib/pgbackrest/archive/demo/9.4-1/0000000100000000/000000010000000000000001-cba88b5d44e9e5215ab6b7c29f37c4814a507ac4.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.04: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/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 exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-07-05 22:51:53\": backup begins after the next regular checkpoint completes",
"P00 INFO: backup start archive = 000000010000000000000002, lsn = 0/2000028",
" [filtered 754 lines of output]",
"P01 INFO: backup file /var/lib/postgresql/9.4/demo/base/1/11895 (0B, 100%)",
"P01 INFO: backup file /var/lib/postgresql/9.4/demo/base/1/11885 (0B, 100%)",
"P00 INFO: full backup size = 19.2MB",
"P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000010000000000000002, lsn = 0/2000128",
" [filtered 4 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"20180705-225153F"
]
}
},
{
"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/9.4/demo/global/pg_control (8KB, 97%) checksum a95486fe557497cce188290436c39eb4bd91e459",
"P01 INFO: backup file /var/lib/postgresql/9.4/demo/backup_label (236B, 100%) checksum 44e7fce402f6311d4dfa179c6b4b6e0e652aa539",
"P00 INFO: diff backup size = 8.2KB",
"P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000010000000000000003, lsn = 0/30000F0",
" [filtered 4 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",
"",
" db (current)",
" wal archive min/max (9.4-1): 000000010000000000000002 / 000000010000000000000003",
"",
" full backup: 20180705-225153F",
" timestamp start/stop: 2018-07-05 22:51:53 / 2018-07-05 22:52:05",
" wal start/stop: 000000010000000000000002 / 000000010000000000000002",
" database size: 19.2MB, backup size: 19.2MB",
" repository size: 2.2MB, repository backup size: 2.2MB",
"",
" diff backup: 20180705-225153F_20180705-225205D",
" timestamp start/stop: 2018-07-05 22:52:05 / 2018-07-05 22:52:09",
" wal start/stop: 000000010000000000000003 / 000000010000000000000003",
" database size: 19.2MB, backup size: 8.2KB",
" repository size: 2.2MB, repository backup size: 400B",
" backup reference list: 20180705-225153F"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.4 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/9.4/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 9.4 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" : [
"The PostgreSQL server failed to start. Please check the log output:",
"postgres: could not find the database system",
"Expected to find it in the directory \"/var/lib/postgresql/9.4/demo\",",
"but could not open file \"/var/lib/postgresql/9.4/demo/global/pg_control\": No such file or directory"
]
}
},
{
"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 find /var/lib/postgresql/9.4/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 9.4 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.04: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/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 = 20180705-225153F_20180705-225205D, version = 2.04",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-07-05 22:52:29\": backup begins after the next regular checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000005, lsn = 0/5000028",
"P01 INFO: backup file /var/lib/postgresql/9.4/demo/pg_multixact/offsets/0000 (8KB, 33%) checksum 0631457264ff7f8d5fb1edc2c0211992a67c73e6",
" [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/postgresql/9.4/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.04: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/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 = 20180705-225153F_20180705-225229I, version = 2.04",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-07-05 22:52:33\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000006, lsn = 0/6000028",
"P01 INFO: backup file /var/lib/postgresql/9.4/demo/global/pg_control (8KB, 97%) checksum 87c1bb85a3d66b3bc494cc0bf8927017b5702dce",
" [filtered 8 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() with label \"pgBackRest backup started at 2018-07-05 22:52:37\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000007, lsn = 0/7000028",
"P00 ERROR: [047]: unable to create path '/var/lib/pgbackrest/backup/demo/20180705-225153F_20180705-225237I': 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.04: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/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 = 20180705-225153F_20180705-225233I, version = 2.04",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-07-05 22:52:39\": backup begins after the requested immediate checkpoint completes",
"P00 ERROR: [057]: ERROR: a backup is already in progress",
" HINT: Run pg_stop_backup() and try again.:",
" select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS.US TZ'), pg_xlogfile_name(lsn), lsn::text from pg_start_backup('pgBackRest backup started at 2018-07-05 22:52:39', true) as lsn"
]
}
},
{
"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/postgresql/9.4/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",
"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.04: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --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 = 20180705-225153F_20180705-225233I, version = 2.04",
"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: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-07-05 22:52:41\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000008, lsn = 0/8000028",
"P01 INFO: backup file /var/lib/postgresql/9.4/demo/global/pg_control (8KB, 97%) checksum b4d5802f728e3050262d96b3b0abbd8038081bf9",
" [filtered 8 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest --output=json info"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"[",
" {",
" \"archive\" : [",
" {",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"id\" : \"9.4-1\",",
" \"max\" : \"000000020000000000000008\",",
" \"min\" : \"000000010000000000000002\"",
" }",
" ],",
" \"backup\" : [",
" {",
" \"archive\" : {",
" \"start\" : \"000000010000000000000002\",",
" \"stop\" : \"000000010000000000000002\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.04\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 20162900,",
" \"repository\" : {",
" \"delta\" : 2389328,",
" \"size\" : 2389328",
" },",
" \"size\" : 20162900",
" },",
" \"label\" : \"20180705-225153F\",",
" \"prior\" : null,",
" \"reference\" : null,",
" \"timestamp\" : {",
" \"start\" : 1530831113,",
" \"stop\" : 1530831125",
" },",
" \"type\" : \"full\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000010000000000000003\",",
" \"stop\" : \"000000010000000000000003\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.04\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 8428,",
" \"repository\" : {",
" \"delta\" : 400,",
" \"size\" : 2389328",
" },",
" \"size\" : 20162900",
" },",
" \"label\" : \"20180705-225153F_20180705-225205D\",",
" \"prior\" : \"20180705-225153F\",",
" \"reference\" : [",
" \"20180705-225153F\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1530831125,",
" \"stop\" : 1530831129",
" },",
" \"type\" : \"diff\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000020000000000000005\",",
" \"stop\" : \"000000020000000000000005\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.04\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 24812,",
" \"repository\" : {",
" \"delta\" : 544,",
" \"size\" : 2389328",
" },",
" \"size\" : 20162900",
" },",
" \"label\" : \"20180705-225153F_20180705-225229I\",",
" \"prior\" : \"20180705-225153F_20180705-225205D\",",
" \"reference\" : [",
" \"20180705-225153F\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1530831149,",
" \"stop\" : 1530831152",
" },",
" \"type\" : \"incr\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000020000000000000006\",",
" \"stop\" : \"000000020000000000000006\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.04\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 8428,",
" \"repository\" : {",
" \"delta\" : 400,",
" \"size\" : 2389328",
" },",
" \"size\" : 20162900",
" },",
" \"label\" : \"20180705-225153F_20180705-225233I\",",
" \"prior\" : \"20180705-225153F_20180705-225229I\",",
" \"reference\" : [",
" \"20180705-225153F\",",
" \"20180705-225153F_20180705-225229I\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1530831153,",
" \"stop\" : 1530831156",
" },",
" \"type\" : \"incr\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000020000000000000008\",",
" \"stop\" : \"000000020000000000000008\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.04\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 8428,",
" \"repository\" : {",
" \"delta\" : 400,",
" \"size\" : 2389328",
" },",
" \"size\" : 20162900",
" },",
" \"label\" : \"20180705-225153F_20180705-225241I\",",
" \"prior\" : \"20180705-225153F_20180705-225233I\",",
" \"reference\" : [",
" \"20180705-225153F\",",
" \"20180705-225153F_20180705-225229I\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1530831161,",
" \"stop\" : 1530831166",
" },",
" \"type\" : \"incr\"",
" }",
" ],",
" \"db\" : [",
" {",
" \"id\" : 1,",
" \"system-id\" : 6574869498342206650,",
" \"version\" : \"9.4\"",
" }",
" ],",
" \"name\" : \"demo\",",
" \"status\" : {",
" \"code\" : 0,",
" \"message\" : \"ok\"",
" }",
" }",
"]"
]
}
},
{
"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 /backrest/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 PostgresSQL",
"--",
"-- Use copy to export data from the pgBackRest info command into the jsonb",
"-- type so it can be queried directly by PostgresSQL.",
"",
"-- 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 directory from the pgBackRest into command",
" copy temp_pgbackrest_data (data)",
" from program",
" 'pgbackrest --output=json info | tr ''\\n'' '' ''' (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\" | 2018-07-05 22:52:46+00 | 000000020000000000000008",
"(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" : [
"1530831166"
]
}
},
{
"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" : [
"\"000000020000000000000008\""
]
}
},
{
"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/9.4/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",
"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 20180705-225153F|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 763 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin",
"P00 DETAIL: archive retention on backup 20180705-225153F, archiveId = 9.4-1, start = 000000010000000000000002",
"P00 DETAIL: no archive to remove, archiveId = 9.4-1",
"P00 INFO: expire command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"20180705-225251F"
]
}
},
{
"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\\: 20180705-225153F|archive retention on backup 20180705-225251F|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 763 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin",
"P00 INFO: expire full backup set: 20180705-225153F, 20180705-225153F_20180705-225205D, 20180705-225153F_20180705-225229I, 20180705-225153F_20180705-225233I, 20180705-225153F_20180705-225241I",
"P00 INFO: remove expired backup 20180705-225153F_20180705-225241I",
"P00 INFO: remove expired backup 20180705-225153F_20180705-225233I",
" [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/postgresql/9.4/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",
"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 ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"20180705-225303F_20180705-225316D"
]
}
},
{
"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: 20180705-225303F_20180705-225316D"
]
},
"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",
"P00 INFO: expire diff backup set: 20180705-225303F_20180705-225316D, 20180705-225303F_20180705-225320I",
"P00 INFO: remove expired backup 20180705-225303F_20180705-225320I",
"P00 INFO: remove expired backup 20180705-225303F_20180705-225316D"
]
}
},
{
"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/9.4/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",
"stop-auto=y",
"",
"[global:archive-push]",
"compress-level=3"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"20180705-225303F_20180705-225323D"
]
}
},
{
"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 8 lines of output]",
"P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000020000000000000013, lsn = 0/130000F0",
"P00 INFO: new backup label = 20180705-225303F_20180705-225329D",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"20180705-225303F_20180705-225329D"
]
}
},
{
"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 20180705-225303F_20180705-225323D|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: expire command begin 2.04: --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 20180705-225251F, archiveId = 9.4-1, start = 00000002000000000000000A, stop = 00000002000000000000000A",
"P00 DETAIL: archive retention on backup 20180705-225303F, archiveId = 9.4-1, start = 00000002000000000000000B, stop = 00000002000000000000000B",
"P00 DETAIL: archive retention on backup 20180705-225303F_20180705-225323D, archiveId = 9.4-1, start = 00000002000000000000000F, stop = 00000002000000000000000F",
"P00 DETAIL: archive retention on backup 20180705-225303F_20180705-225329D, archiveId = 9.4-1, start = 000000020000000000000013",
"P00 DETAIL: remove archive: archiveId = 9.4-1, start = 00000002000000000000000C, stop = 00000002000000000000000E",
"P00 DETAIL: remove archive: archiveId = 9.4-1, start = 000000020000000000000010, stop = 000000020000000000000012",
"P00 INFO: expire command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.4 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|check\\/clean db path|restore global\\/pg_control"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 693 lines of output]",
"P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/base/12134/PG_VERSION - exists and matches backup (4B, 99%) checksum 8dbabb96e032b8d9f1993c0e4b9141e71ade01a1",
"P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/base/1/PG_VERSION - exists and matches backup (4B, 99%) checksum 8dbabb96e032b8d9f1993c0e4b9141e71ade01a1",
"P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/PG_VERSION - exists and matches backup (4B, 100%) checksum 8dbabb96e032b8d9f1993c0e4b9141e71ade01a1",
"P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/global/12086 - exists and is zero size (0B, 100%)",
"P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/global/12038 - exists and is zero size (0B, 100%)",
" [filtered 83 lines of output]",
"P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/base/1/11885 - exists and is zero size (0B, 100%)",
"P00 INFO: write /var/lib/postgresql/9.4/demo/recovery.conf",
"P00 INFO: restore global/pg_control (performed last to ensure aborted restores cannot be started)",
"P00 INFO: restore command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.4 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/9.4/demo/base/24576"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"6.4M\t/var/lib/postgresql/9.4/demo/base/24576"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.4 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 9.4 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/9.4/demo/base/24576"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"152K\t/var/lib/postgresql/9.4/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",
" 12134 | template0",
" 12139 | 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" : [
"2018-07-05 22:54:08.978379+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 9.4 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=2018-07-05 22:54:08.978379+00\" 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-9.4-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/9.4/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" : [
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
"recovery_target_time = '2018-07-05 22:54:08.978379+00'"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.4 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-9.4-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" : [
"LOG: database system was interrupted; last known up at 2018-07-05 22:54:02 UTC",
"LOG: starting point-in-time recovery to 2018-07-05 22:54:08.978379+00",
"LOG: restored log file \"00000004.history\" from archive",
"LOG: restored log file \"000000040000000000000018\" from archive",
" [filtered 2 lines of output]",
"LOG: incomplete startup packet",
"LOG: restored log file \"000000040000000000000019\" from archive",
"LOG: recovery stopping before commit of transaction 689, time 2018-07-05 22:54:09.193234+00",
"LOG: redo done at 0/19016E48",
"LOG: last completed transaction was at log time 2018-07-05 22:54:08.773689+00",
"LOG: selected new timeline ID: 5",
"LOG: restored log file \"00000004.history\" from archive",
" [filtered 5 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 ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"20180705-225303F_20180705-225401D"
]
}
},
{
"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 9.4 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=2018-07-05 22:54:08.978379+00\" 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-9.4-demo.log"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.4 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-9.4-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" : [
"LOG: database system was interrupted; last known up at 2018-07-05 22:54:20 UTC",
"LOG: starting point-in-time recovery to 2018-07-05 22:54:08.978379+00",
"LOG: restored log file \"00000005.history\" from archive",
"LOG: restored log file \"00000005000000000000001A\" from archive",
"LOG: redo starts at 0/1A000028",
"LOG: consistent recovery state reached at 0/1A0000F0",
"LOG: redo done at 0/1A0000F0",
"LOG: incomplete startup packet",
" [filtered 10 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest info"
],
"highlight" : {
"filter" : false,
"filter-context" : 2,
"list" : [
"20180705-225303F_20180705-225401D"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"stanza: demo",
" status: ok",
"",
" db (current)",
" wal archive min/max (9.4-1): 00000002000000000000000A / 00000005000000000000001A",
"",
" full backup: 20180705-225251F",
" timestamp start/stop: 2018-07-05 22:52:51 / 2018-07-05 22:53:03",
" wal start/stop: 00000002000000000000000A / 00000002000000000000000A",
" database size: 19.2MB, backup size: 19.2MB",
" repository size: 2.2MB, repository backup size: 2.2MB",
"",
" full backup: 20180705-225303F",
" timestamp start/stop: 2018-07-05 22:53:03 / 2018-07-05 22:53:14",
" wal start/stop: 00000002000000000000000B / 00000002000000000000000B",
" database size: 19.2MB, backup size: 19.2MB",
" repository size: 2.2MB, repository backup size: 2.2MB",
"",
" diff backup: 20180705-225303F_20180705-225329D",
" timestamp start/stop: 2018-07-05 22:53:29 / 2018-07-05 22:53:32",
" wal start/stop: 000000020000000000000013 / 000000020000000000000013",
" database size: 19.2MB, backup size: 72.2KB",
" repository size: 2.2MB, repository backup size: 9.8KB",
" backup reference list: 20180705-225303F",
"",
" incr backup: 20180705-225303F_20180705-225342I",
" timestamp start/stop: 2018-07-05 22:53:42 / 2018-07-05 22:53:50",
" wal start/stop: 000000030000000000000015 / 000000030000000000000015",
" database size: 31.7MB, backup size: 12.5MB",
" repository size: 3.7MB, repository backup size: 1.5MB",
" backup reference list: 20180705-225303F, 20180705-225303F_20180705-225329D",
"",
" diff backup: 20180705-225303F_20180705-225401D",
" timestamp start/stop: 2018-07-05 22:54:01 / 2018-07-05 22:54:08",
" wal start/stop: 000000040000000000000018 / 000000040000000000000018",
" database size: 25.5MB, backup size: 6.3MB",
" repository size: 3MB, repository backup size: 781.1KB",
" backup reference list: 20180705-225303F",
"",
" incr backup: 20180705-225303F_20180705-225419I",
" timestamp start/stop: 2018-07-05 22:54:19 / 2018-07-05 22:54:22",
" wal start/stop: 00000005000000000000001A / 00000005000000000000001A",
" database size: 25.5MB, backup size: 1.7MB",
" repository size: 3MB, repository backup size: 201.5KB",
" backup reference list: 20180705-225303F, 20180705-225303F_20180705-225401D"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.4 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=2018-07-05 22:54:08.978379+00\" \\",
" --set=20180705-225303F_20180705-225401D 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-9.4-demo.log"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.4 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-9.4-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" : [
"LOG: database system was interrupted; last known up at 2018-07-05 22:54:02 UTC",
"LOG: starting point-in-time recovery to 2018-07-05 22:54:08.978379+00",
"FATAL: the database system is starting up",
"LOG: restored log file \"00000004.history\" from archive",
" [filtered 3 lines of output]",
"LOG: incomplete startup packet",
"LOG: restored log file \"000000040000000000000019\" from archive",
"LOG: recovery stopping before commit of transaction 689, time 2018-07-05 22:54:09.193234+00",
"LOG: redo done at 0/19016E48",
"LOG: last completed transaction was at log time 2018-07-05 22:54:08.773689+00",
"LOG: restored log file \"00000005.history\" from archive",
"LOG: restored log file \"00000006.history\" from archive",
" [filtered 7 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"aws s3 --no-verify-ssl mb s3://demo-bucket 2>&1"
],
"host" : "s3-server",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-cipher-pass" : {},
"repo1-cipher-type" : {
"value" : "none"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
"",
"[global]",
"repo1-cipher-type=none",
"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" : {
"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.amazonaws.com"
},
"repo1-s3-key" : {
"value" : "accessKey1"
},
"repo1-s3-key-secret" : {
"value" : "verySecretKey1"
},
"repo1-s3-region" : {
"value" : "us-east-1"
},
"repo1-s3-verify-ssl" : {
"value" : "n"
},
"repo1-type" : {
"value" : "s3"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
"",
"[global]",
"process-max=4",
"repo1-cipher-type=none",
"repo1-path=/demo-repo",
"repo1-retention-diff=2",
"repo1-retention-full=2",
"repo1-s3-bucket=demo-bucket",
"repo1-s3-endpoint=s3.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" : [
"echo \"172.17.0.2 demo-bucket.s3.amazonaws.com s3.amazonaws.com\" | tee -a /etc/hosts"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest --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.04: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-cipher-type=none --repo1-path=/demo-repo --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --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 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.04: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --process-max=4 --repo1-cipher-type=none --repo1-path=/demo-repo --repo1-retention-diff=2 --repo1-retention-full=2 --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --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() with label \"pgBackRest backup started at 2018-07-05 22:54:44\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 00000007000000000000001A, lsn = 0/1A000028",
" [filtered 995 lines of output]",
"P02 INFO: backup file /var/lib/postgresql/9.4/demo/base/1/11895 (0B, 100%)",
"P04 INFO: backup file /var/lib/postgresql/9.4/demo/base/1/11885 (0B, 100%)",
"P00 INFO: full backup size = 25.5MB",
"P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 00000007000000000000001A, lsn = 0/1A000128",
" [filtered 4 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.4 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.04: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-type=none --repo1-path=/demo-repo --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --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.04: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-cipher-type=none --repo1-path=/demo-repo --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=demo",
"P00 INFO: stanza-delete command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.4 demo start"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"id" : "repo1",
"image" : "ubuntu:16.04",
"name" : "repository",
"os" : "u16",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.5"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sed -i 's/^mesg n/tty -s \\&\\& mesg n/g' /root/.profile"
],
"host" : "repository",
"load-env" : false,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"rm /etc/apt/apt.conf.d/70debconf"
],
"host" : "repository",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"apt-get update"
],
"host" : "repository",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
" \\",
" mkdir -p -m 700 /root/.ssh && \\",
" echo '-----BEGIN RSA PRIVATE KEY-----' > /root/.ssh/id_rsa && \\",
" echo 'MIICXwIBAAKBgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ou' >> /root/.ssh/id_rsa && \\",
" echo 'X3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY' >> /root/.ssh/id_rsa && \\",
" echo '/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazwIDAQAB' >> /root/.ssh/id_rsa && \\",
" echo 'AoGBAJXa6xzrnFVmwgK5BKzYuX/YF5TPgk2j80ch0ct50buQXH/Cb0/rUH5i4jWS' >> /root/.ssh/id_rsa && \\",
" echo 'T6Hy/DFUehnuzpvV6O9auTOhDs3BhEKFRuRLn1nBwTtZny5Hh+cw7azUCEHFCJlz' >> /root/.ssh/id_rsa && \\",
" echo 'makCrVbgawtno6oU/pFgQm1FcxD0f+Me5ruNcLHqUZsPQwkRAkEA+8pG+ckOlz6R' >> /root/.ssh/id_rsa && \\",
" echo 'AJLIHedmfcrEY9T7sfdo83bzMOz8H5soUUP4aOTLJYCla1LO7JdDnXMGo0KxaHBP' >> /root/.ssh/id_rsa && \\",
" echo 'l8j5zDmVewJBANVVPDJr1w37m0FBi37QgUOAijVfLXgyPMxYp2uc9ddjncif0063' >> /root/.ssh/id_rsa && \\",
" echo '0Wc0FQefoPszf3CDrHv/RHvhHq97jXDwTb0CQQDgH83NygoS1r57pCw9chzpG/R0' >> /root/.ssh/id_rsa && \\",
" echo 'aMEiSPhCvz757fj+qT3aGIal2AJ7/2c/gRZvwrWNETZ3XIZOUKqIkXzJLPjBAkEA' >> /root/.ssh/id_rsa && \\",
" echo 'wnP799W2Y8d4/+VX2pMBkF7lG7sSviHEq1sP2BZtPBRQKSQNvw3scM7XcGh/mxmY' >> /root/.ssh/id_rsa && \\",
" echo 'yx0qpqfKa8SKbNgI1+4iXQJBAOlg8MJLwkUtrG+p8wf69oCuZsnyv0K6UMDxm6/8' >> /root/.ssh/id_rsa && \\",
" echo 'cbvfmvODulYFaIahaqHWEZoRo5CLYZ7gN43WHPOrKxdDL78=' >> /root/.ssh/id_rsa && \\",
" echo '-----END RSA PRIVATE KEY-----' >> /root/.ssh/id_rsa && \\",
" echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ouX3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazw== root@pgbackrest-doc' > /root/.ssh/authorized_keys && \\",
" echo 'Host *' > /root/.ssh/config && \\",
" echo ' StrictHostKeyChecking no' >> /root/.ssh/config && \\",
" chmod 600 /root/.ssh/* \\",
" "
],
"host" : "repository",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"apt-get install sudo ssh wget vim"
],
"cmd-extra" : "-y 2>&1",
"host" : "repository",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"service ssh start"
],
"host" : "repository",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"adduser --disabled-password --gecos \"\" vagrant"
],
"host" : "repository",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"echo '%vagrant ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers"
],
"host" : "repository",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"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 scp build:/root/pgbackrest-release-2.04/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 apt-get install libdbd-pg-perl libio-socket-ssl-perl libxml-libxml-perl"
],
"cmd-extra" : "-y 2>&1",
"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" : [
"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" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"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" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u pgbackrest ssh postgres@pg-primary"
],
"cmd-extra" : "-o StrictHostKeyChecking=no ls",
"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 ls",
"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/9.4/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/9.4/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/9.4/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/9.4/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 9.4 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 9.4 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/9.4/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",
"",
" db (current)",
" wal archive min/max (9.4-1): 000000080000000000000021 / 000000080000000000000022",
"",
" full backup: 20180705-225707F",
" timestamp start/stop: 2018-07-05 22:57:07 / 2018-07-05 22:57:23",
" wal start/stop: 000000080000000000000021 / 000000080000000000000021",
" database size: 25.5MB, backup size: 25.5MB",
" repository size: 3MB, repository backup size: 3MB",
"",
" full backup: 20180705-225724F",
" timestamp start/stop: 2018-07-05 22:57:24 / 2018-07-05 22:57:34",
" wal start/stop: 000000080000000000000022 / 000000080000000000000022",
" database size: 25.5MB, backup size: 25.5MB",
" repository size: 3MB, repository backup size: 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" : "62",
"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 ERROR: [062]: raised from remote process on 'pg-primary': stop file exists for all stanzas"
]
}
},
{
"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" : "62",
"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 ERROR: [062]: raised from remote process on 'pg-primary': stop file exists for stanza demo"
]
}
},
{
"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" : "ubuntu:16.04",
"name" : "pg-standby",
"os" : "u16",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.6"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sed -i 's/^mesg n/tty -s \\&\\& mesg n/g' /root/.profile"
],
"host" : "pg-standby",
"load-env" : false,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"rm /etc/apt/apt.conf.d/70debconf"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"apt-get update"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
" \\",
" mkdir -p -m 700 /root/.ssh && \\",
" echo '-----BEGIN RSA PRIVATE KEY-----' > /root/.ssh/id_rsa && \\",
" echo 'MIICXwIBAAKBgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ou' >> /root/.ssh/id_rsa && \\",
" echo 'X3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY' >> /root/.ssh/id_rsa && \\",
" echo '/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazwIDAQAB' >> /root/.ssh/id_rsa && \\",
" echo 'AoGBAJXa6xzrnFVmwgK5BKzYuX/YF5TPgk2j80ch0ct50buQXH/Cb0/rUH5i4jWS' >> /root/.ssh/id_rsa && \\",
" echo 'T6Hy/DFUehnuzpvV6O9auTOhDs3BhEKFRuRLn1nBwTtZny5Hh+cw7azUCEHFCJlz' >> /root/.ssh/id_rsa && \\",
" echo 'makCrVbgawtno6oU/pFgQm1FcxD0f+Me5ruNcLHqUZsPQwkRAkEA+8pG+ckOlz6R' >> /root/.ssh/id_rsa && \\",
" echo 'AJLIHedmfcrEY9T7sfdo83bzMOz8H5soUUP4aOTLJYCla1LO7JdDnXMGo0KxaHBP' >> /root/.ssh/id_rsa && \\",
" echo 'l8j5zDmVewJBANVVPDJr1w37m0FBi37QgUOAijVfLXgyPMxYp2uc9ddjncif0063' >> /root/.ssh/id_rsa && \\",
" echo '0Wc0FQefoPszf3CDrHv/RHvhHq97jXDwTb0CQQDgH83NygoS1r57pCw9chzpG/R0' >> /root/.ssh/id_rsa && \\",
" echo 'aMEiSPhCvz757fj+qT3aGIal2AJ7/2c/gRZvwrWNETZ3XIZOUKqIkXzJLPjBAkEA' >> /root/.ssh/id_rsa && \\",
" echo 'wnP799W2Y8d4/+VX2pMBkF7lG7sSviHEq1sP2BZtPBRQKSQNvw3scM7XcGh/mxmY' >> /root/.ssh/id_rsa && \\",
" echo 'yx0qpqfKa8SKbNgI1+4iXQJBAOlg8MJLwkUtrG+p8wf69oCuZsnyv0K6UMDxm6/8' >> /root/.ssh/id_rsa && \\",
" echo 'cbvfmvODulYFaIahaqHWEZoRo5CLYZ7gN43WHPOrKxdDL78=' >> /root/.ssh/id_rsa && \\",
" echo '-----END RSA PRIVATE KEY-----' >> /root/.ssh/id_rsa && \\",
" echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDR0yJsZW5d5LcqteiOtv8d+FFeFFHDPI0VTcTOdMn1iDiIP1ouX3Q2OyNjsBaDbsRJd+sp9IRq1LKX3zsBcgGZANwm0zduuNEPEU94ajS/uRoejIqY/XkKOpnEF6ZbQ2S7TaE4sWeGLvba7kUFs0QTOO+N+nV2dMbdqZf6C8lazw== root@pgbackrest-doc' > /root/.ssh/authorized_keys && \\",
" echo 'Host *' > /root/.ssh/config && \\",
" echo ' StrictHostKeyChecking no' >> /root/.ssh/config && \\",
" chmod 600 /root/.ssh/* \\",
" "
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"apt-get install sudo ssh wget vim"
],
"cmd-extra" : "-y 2>&1",
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"service ssh start"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"adduser --disabled-password --gecos \"\" vagrant"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"echo '%vagrant ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : "root"
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main 11' | \\",
" sudo tee -a /etc/apt/sources.list.d/pgdg.list"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \\",
" sudo apt-key add -"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo apt-get update"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo apt-get install postgresql-common"
],
"cmd-extra" : "-y 2>&1",
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo sed -i 's/^\\#create\\_main\\_cluster.*$/create\\_main\\_cluster \\= false/' \\",
" /etc/postgresql-common/createcluster.conf"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo apt-get install postgresql-9.4"
],
"cmd-extra" : "-y 2>&1",
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/root/pgbackrest-release-2.04/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 apt-get install libdbd-pg-perl libio-socket-ssl-perl libxml-libxml-perl"
],
"cmd-extra" : "-y 2>&1",
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo 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" : [
"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" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"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" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u pgbackrest ssh postgres@pg-standby"
],
"cmd-extra" : "-o StrictHostKeyChecking=no ls",
"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 ls",
"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/9.4/demo"
},
"recovery-option" : {
"value" : "standby_mode=on"
}
},
"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/9.4/demo",
"recovery-option=standby_mode=on",
"",
"[global]",
"log-level-file=detail",
"repo1-host=repository"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_createcluster 9.4 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 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/9.4/demo/recovery.conf"
],
"host" : "pg-standby",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"standby_mode = 'on'",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'"
]
}
},
{
"key" : {
"file" : "/etc/postgresql/9.4/demo/postgresql.conf",
"host" : "pg-standby",
"option" : {
"hot_standby" : {
"value" : "on"
},
"log_filename" : {
"value" : "'postgresql.log'"
},
"log_line_prefix" : {
"value" : "''"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"hot_standby = on",
"log_filename = 'postgresql.log'",
"log_line_prefix = ''"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo rm /var/log/postgresql/postgresql-9.4-demo.log"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.4 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-9.4-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" : [
"LOG: could not bind IPv6 socket: Cannot assign requested address",
"HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.",
"LOG: database system was interrupted; last known up at 2018-07-05 22:57:25 UTC",
"LOG: entering standby mode",
"LOG: restored log file \"00000008.history\" from archive",
"LOG: incomplete startup packet",
"LOG: restored log file \"000000080000000000000022\" from archive",
"LOG: redo starts at 0/22000028",
"LOG: consistent recovery state reached at 0/22000128",
"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/23019A60 | 2018-07-05 22:59:16.550504+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 | 2018-07-05 22:59:18.017841+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" : [
"all other checks passed"
]
},
"host" : "pg-standby",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: check command begin 2.04: --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-host=repository --stanza=demo",
"P00 INFO: switch xlog cannot be performed on the standby, all other checks passed successfully",
"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/9.4/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 9.4 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/9.4/demo",
"recovery-option=standby_mode=on",
"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 9.4 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 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/9.4/demo/recovery.conf"
],
"host" : "pg-standby",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"primary_conninfo = 'host=172.17.0.4 port=5432 user=replicator'",
"standby_mode = 'on'",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo rm /var/log/postgresql/postgresql-9.4-demo.log"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.4 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-9.4-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 9 lines of output]",
"LOG: database system is ready to accept read only connections",
"LOG: restored log file \"000000080000000000000023\" from archive",
"LOG: started streaming WAL from primary at 0/24000000 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 | 2018-07-05 22:59:30.021542+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 | 2018-07-05 22:59:30.234481+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/9.4/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/9.4/demo",
"recovery-option=standby_mode=on",
"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 9.4 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_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.04: --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-host=repository --stanza=demo",
"P00 INFO: WAL segment 000000080000000000000029 successfully stored in the archive at '/var/lib/pgbackrest/archive/demo/9.4-1/0000000800000000/000000080000000000000029-168f633069a4d2b7f6f847b4157f240c3768f97d.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 command begin 2.04: [pg_xlog/000000080000000000000024] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 2 WAL file(s) to archive: 000000080000000000000024...000000080000000000000025",
"P01 DETAIL: pushed WAL file 000000080000000000000024 to archive",
"P02 DETAIL: pushed WAL file 000000080000000000000025 to archive",
"P00 INFO: archive-push command end: completed successfully",
"",
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push command begin 2.04: [pg_xlog/000000080000000000000026] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 3 WAL file(s) to archive: 000000080000000000000026...000000080000000000000028",
"P02 DETAIL: pushed WAL file 000000080000000000000027 to archive",
"P01 DETAIL: pushed WAL file 000000080000000000000026 to archive",
"P02 DETAIL: pushed WAL file 000000080000000000000028 to archive",
"P00 INFO: archive-push command end: completed successfully",
"",
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push command begin 2.04: [pg_xlog/000000080000000000000029] --archive-async --log-level-console=off --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 1 WAL file(s) to archive: 000000080000000000000029",
"P01 DETAIL: pushed WAL file 000000080000000000000029 to archive",
"P00 INFO: archive-push 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" : [
"got WAL file [0-F]{24} from archive"
]
},
"host" : "pg-standby",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"-------------------PROCESS START-------------------",
"P00 INFO: archive-get command begin 2.04: [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/postgresql/9.4/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: get 8 WAL file(s) from archive: 000000080000000000000022...000000080000000000000029",
"P02 DETAIL: got WAL file 000000080000000000000023 from archive",
"P01 DETAIL: got WAL file 000000080000000000000022 from archive",
"P02 DETAIL: WAL file 000000080000000000000024 not found in archive",
"P01 DETAIL: WAL file 000000080000000000000025 not found in archive",
" [filtered 33 lines of output]",
"P00 INFO: archive-get command begin 2.04: [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/postgresql/9.4/demo --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: got WAL file 000000080000000000000024 from archive",
"P02 DETAIL: got WAL file 000000080000000000000025 from archive",
"P01 DETAIL: got WAL file 000000080000000000000026 from archive",
"P02 DETAIL: got WAL file 000000080000000000000027 from archive",
"P02 DETAIL: WAL file 000000080000000000000029 not found in archive",
"P02 DETAIL: WAL file 00000008000000000000002A not found in archive",
"P02 DETAIL: WAL file 00000008000000000000002B not found in archive",
"P01 DETAIL: got WAL file 000000080000000000000028 from archive",
"P00 INFO: archive-get command end: completed successfully",
"",
" [filtered 5 lines of output]",
"P02 DETAIL: WAL file 00000008000000000000002C not found in archive",
"P02 DETAIL: WAL file 00000008000000000000002D not found in archive",
"P01 DETAIL: got WAL file 000000080000000000000029 from archive",
"P00 INFO: archive-get command end: completed successfully",
"",
" [filtered 24 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres psql -c \"alter user replicator password 'jw8s0F4'\""
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"ALTER ROLE"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "repository",
"option" : {
"demo" : {
"pg2-host" : {
"value" : "pg-standby"
},
"pg2-path" : {
"value" : "/var/lib/postgresql/9.4/demo"
}
},
"global" : {
"backup-standby" : {
"value" : "y"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-path=/var/lib/postgresql/9.4/demo",
"pg2-host=pg-standby",
"pg2-path=/var/lib/postgresql/9.4/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 exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-07-05 22:59:49\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 00000008000000000000002B, lsn = 0/2B000028",
"P00 INFO: wait for replay on the standby to reach 0/2B000028",
"P00 INFO: replay on the standby reached 0/2B000348",
"P01 INFO: backup file pg-primary:/var/lib/postgresql/9.4/demo/global/pg_control (8KB, 0%) checksum 98f01d11eee0e87d7ffc9530ed6e5d12398cb205",
"P01 INFO: backup file pg-primary:/var/lib/postgresql/9.4/demo/backup_label (238B, 0%) checksum 07e9a8c7854fdda88ebe7779f9c8e899cf68bfc2",
"P04 INFO: backup file pg-standby:/var/lib/postgresql/9.4/demo/base/12139/12009 (240KB, 12%) checksum 4dbea5928adf3f8e259b8fc85181f336d346c110",
"P04 INFO: backup file pg-standby:/var/lib/postgresql/9.4/demo/base/12139/12010 (232KB, 24%) checksum 98aef823550f99512cb14fbdb9f6be608531161b",
" [filtered 35 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.4 demo stop"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo apt-get install postgresql-9.5"
],
"cmd-extra" : "-y",
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.4 demo stop"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo apt-get install postgresql-9.5"
],
"cmd-extra" : "-y",
"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/9.5/bin/initdb \\",
" -D /var/lib/postgresql/9.5/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 9.5 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/9.5/bin/pg_upgrade \\",
" --old-bindir=/usr/lib/postgresql/9.4/bin \\",
" --new-bindir=/usr/lib/postgresql/9.5/bin \\",
" --old-datadir=/var/lib/postgresql/9.4/demo \\",
" --new-datadir=/var/lib/postgresql/9.5/demo \\",
" --old-options=\" -c config_file=/etc/postgresql/9.4/demo/postgresql.conf\" \\",
" --new-options=\" -c config_file=/etc/postgresql/9.5/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/9.5/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" : "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/postgresql/9.5/demo"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.5/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/9.5/demo"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.5/demo",
"recovery-option=standby_mode=on",
"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/9.5/demo"
},
"pg2-path" : {
"value" : "/var/lib/postgresql/9.5/demo"
}
},
"global" : {
"backup-standby" : {
"value" : "n"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-path=/var/lib/postgresql/9.5/demo",
"pg2-host=pg-standby",
"pg2-path=/var/lib/postgresql/9.5/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/9.4/demo/pg_hba.conf \\",
" /etc/postgresql/9.5/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.04: --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/9.5/demo --pg2-path=/var/lib/postgresql/9.5/demo --repo1-path=/var/lib/pgbackrest --stanza=demo",
"P00 INFO: stanza-upgrade command end: completed successfully"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_ctlcluster 9.5 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",
"9.4 demo 5432 down postgres /var/lib/postgresql/9.4/demo /var/log/postgresql/postgresql-9.4-demo.log",
"9.5 demo 5432 online postgres /var/lib/postgresql/9.5/demo /var/log/postgresql/postgresql-9.5-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 9.4 demo"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_dropcluster 9.4 demo"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo pg_createcluster 9.5 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: [056]: raised from remote process on 'pg-standby': 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 restore"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/postgresql/9.5/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 9.5 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/9.5/demo",
"pg2-host=pg-standby",
"pg2-path=/var/lib/postgresql/9.5/demo",
"",
"[global]",
"backup-standby=y",
"process-max=3",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
"start-fast=y"
]
}
}
]
}
}
}