1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2024-12-14 10:13:05 +02:00
pgbackrest/doc/resource/exe.cache
David Steele bc7462d86d v2.05: Environment Variable Options and Exclude Temporary/Unlogged Relations
Bug Fixes:

* Fix issue where relative links in $PGDATA could be stored in the backup with the wrong path. This issue did not affect absolute links and relative tablespace links were caught by other checks. (Reported by Cynthia Shang.)
* Remove incompletely implemented online option from the check command. Offline operation runs counter to the purpose of this command, which is to check if archiving and backups are working correctly. (Reported by Jason O'Donnell.)
* Fix issue where errors raised in C were not logged when called from Perl. pgBackRest properly terminated with the correct error code but lacked an error message to aid in debugging. (Reported by Douglas J Hunley.)
* Fix issue when a boolean option (e.g. delta) was specified more than once. (Reported by Yogesh Sharma.)

Features:

* Allow any option to be set in an environment variable. This includes options that previously could only be specified on the command line, e.g. stanza, and secret options that could not be specified on the command-line, e.g. repo1-s3-key-secret.
* Exclude temporary and unlogged relation (table/index) files from backup. Implemented using the same logic as the patches adding this feature to PostgreSQL, 8694cc96 and 920a5e50. Temporary relation exclusion is enabled in PostgreSQL ≥ 9.0. Unlogged relation exclusion is enabled in PostgreSQL ≥ 9.1, where the feature was introduced. (Contributed by Cynthia Shang.)
* Allow arbitrary directories and/or files to be excluded from a backup. Misuse of this feature can lead to inconsistent backups so read the --exclude documentation carefully before using. (Reviewed by Cynthia Shang.)
* Add log-subprocess option to allow file logging for local and remote subprocesses.
* PostgreSQL 11 Beta 3 support.

Improvements:

* Allow zero-size files in backup manifest to reference a prior manifest regardless of timestamp delta. (Contributed by Cynthia Shang.)
* Improve asynchronous archive-get/archive-push performance by directly checking status files. (Contributed by Stephen Frost.)
* Improve error message when a command is missing the stanza option. (Suggested by Sarah Conway.)
2018-08-31 13:19:43 -04:00

11402 lines
430 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" : "pgbackrest/doc:co6-base",
"name" : "build",
"os" : "co6",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.3"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo mkdir /root/pgbackrest-release-2.05"
],
"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.05"
],
"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.05"
],
"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.05/src"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"id" : "pg1",
"image" : "pgbackrest/doc:co6-base",
"name" : "pg-primary",
"os" : "co6",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.4"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/root/pgbackrest-release-2.05/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.05 - General help",
"",
"Usage:",
" pgbackrest [options] [command]",
"",
"Commands:",
" archive-get Get a WAL segment from the archive.",
" archive-push Push a WAL segment to the archive.",
" backup Backup a database cluster.",
" check Check the configuration.",
" expire Expire backups that exceed retention.",
" help Get help.",
" info Retrieve information about backups.",
" restore Restore a database cluster.",
" stanza-create Create the required stanza data.",
" stanza-delete Delete a stanza.",
" stanza-upgrade Upgrade a stanza.",
" start Allow pgBackRest processes to run.",
" stop Stop pgBackRest processes from running.",
" version Get version.",
"",
"Use 'pgbackrest help [command]' for more information."
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres /usr/pgsql-9.5/bin/initdb \\",
" -D /var/lib/pgsql/9.5/data -k -A peer"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"listen_addresses" : {
"value" : "'*'"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"log_line_prefix" : {
"value" : "''"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'",
"log_line_prefix = ''"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"log_filename" : {
"value" : "'postgresql.log'"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'",
"log_filename = 'postgresql.log'",
"log_line_prefix = ''"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/pgsql/9.5/data"
}
},
"global" : {
"log-level-stderr" : {
"value" : "off"
},
"log-timestamp" : {
"value" : "n"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres bash -c ' \\",
" export PGBACKREST_LOG_PATH=/path/set/by/env && \\",
" pgbackrest --log-level-console=error help backup log-path'"
],
"highlight" : {
"filter" : false,
"filter-context" : 2,
"list" : [
"current\\: \\/path\\/set\\/by\\/env"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"pgBackRest 2.05 - 'backup' command - 'log-path' option help",
"",
"Path where log files are stored.",
"",
"The log path provides a location for pgBackRest to store log files. Note that",
"if log-level-file=off then no log path is required.",
"",
"current: /path/set/by/env",
"default: /var/log/pgbackrest"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo mkdir -p /var/lib/pgbackrest"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo chmod 750 /var/lib/pgbackrest"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo chown postgres:postgres /var/lib/pgbackrest"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-path" : {
"value" : "/var/lib/pgbackrest"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"repo1-path=/var/lib/pgbackrest"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"archive_command" : {
"value" : "'pgbackrest --stanza=demo archive-push %p'"
},
"archive_mode" : {
"value" : "on"
},
"max_wal_senders" : {
"value" : "3"
},
"wal_level" : {
"value" : "hot_standby"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"archive_command = 'pgbackrest --stanza=demo archive-push %p'",
"archive_mode = on",
"listen_addresses = '*'",
"log_filename = 'postgresql.log'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"wal_level = hot_standby"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo service postgresql-9.5 restart"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global:archive-push" : {
"compress-level" : {
"value" : "3"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"repo1-path=/var/lib/pgbackrest",
"",
"[global:archive-push]",
"compress-level=3"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-retention-full" : {
"value" : "2"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
"",
"[global:archive-push]",
"compress-level=3"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-cipher-pass" : {
"value" : "zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO"
},
"repo1-cipher-type" : {
"value" : "aes-256-cbc"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
"",
"[global:archive-push]",
"compress-level=3"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-create"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"completed successfully"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: stanza-create command begin 2.05: --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.05: --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-93845a7ccf221682f4c014e5ffb56834ed7f8ea8.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.05: --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-08-31 15:33:15\": 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" : [
"20180831-153315F"
]
}
},
{
"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 1559863f1dd9a2f554e78cd6f47a225ef0d177c4",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/backup_label (236B, 100%) checksum d7169ed68ce129693310e4fb489612364c5ac388",
"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: 20180831-153315F",
" timestamp start/stop: 2018-08-31 15:33:15 / 2018-08-31 15:33:27",
" wal start/stop: 000000010000000000000002 / 000000010000000000000002",
" database size: 20.5MB, backup size: 20.5MB",
" repository size: 2.4MB, repository backup size: 2.4MB",
"",
" diff backup: 20180831-153315F_20180831-153328D",
" timestamp start/stop: 2018-08-31 15:33:28 / 2018-08-31 15:33:31",
" wal start/stop: 000000010000000000000003 / 000000010000000000000003",
" database size: 20.5MB, backup size: 8.2KB",
" repository size: 2.4MB, repository backup size: 400B",
" backup reference list: 20180831-153315F"
]
}
},
{
"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.05: --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 = 20180831-153315F_20180831-153328D, version = 2.05",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-08-31 15:33:51\": 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.05: --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 = 20180831-153315F_20180831-153351I, version = 2.05",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-08-31 15:33:55\": 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 efbbdf2d53de87ab6e7d4317af266d20b748fc59",
" [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-08-31 15:34:00\": 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/20180831-153315F_20180831-153400I': 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.05: --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 = 20180831-153315F_20180831-153355I, version = 2.05",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-08-31 15:34:02\": 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-08-31 15:34:02', 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.05: --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 = 20180831-153315F_20180831-153355I, version = 2.05",
"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-08-31 15:34:04\": 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 1570c52c2cd294a66df3d6e8c3d28916b3fba5f2",
" [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.05\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 21575104,",
" \"repository\" : {",
" \"delta\" : 2530704,",
" \"size\" : 2530704",
" },",
" \"size\" : 21575104",
" },",
" \"label\" : \"20180831-153315F\",",
" \"prior\" : null,",
" \"reference\" : null,",
" \"timestamp\" : {",
" \"start\" : 1535729595,",
" \"stop\" : 1535729607",
" },",
" \"type\" : \"full\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000010000000000000003\",",
" \"stop\" : \"000000010000000000000003\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.05\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 8428,",
" \"repository\" : {",
" \"delta\" : 400,",
" \"size\" : 2530704",
" },",
" \"size\" : 21575104",
" },",
" \"label\" : \"20180831-153315F_20180831-153328D\",",
" \"prior\" : \"20180831-153315F\",",
" \"reference\" : [",
" \"20180831-153315F\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1535729608,",
" \"stop\" : 1535729611",
" },",
" \"type\" : \"diff\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000020000000000000005\",",
" \"stop\" : \"000000020000000000000005\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.05\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 25732,",
" \"repository\" : {",
" \"delta\" : 976,",
" \"size\" : 2530864",
" },",
" \"size\" : 21575672",
" },",
" \"label\" : \"20180831-153315F_20180831-153351I\",",
" \"prior\" : \"20180831-153315F_20180831-153328D\",",
" \"reference\" : [",
" \"20180831-153315F\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1535729631,",
" \"stop\" : 1535729634",
" },",
" \"type\" : \"incr\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000020000000000000006\",",
" \"stop\" : \"000000020000000000000006\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.05\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 8428,",
" \"repository\" : {",
" \"delta\" : 400,",
" \"size\" : 2530864",
" },",
" \"size\" : 21575672",
" },",
" \"label\" : \"20180831-153315F_20180831-153355I\",",
" \"prior\" : \"20180831-153315F_20180831-153351I\",",
" \"reference\" : [",
" \"20180831-153315F\",",
" \"20180831-153315F_20180831-153351I\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1535729635,",
" \"stop\" : 1535729639",
" },",
" \"type\" : \"incr\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000020000000000000008\",",
" \"stop\" : \"000000020000000000000008\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.05\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 9628,",
" \"repository\" : {",
" \"delta\" : 976,",
" \"size\" : 2531008",
" },",
" \"size\" : 21575952",
" },",
" \"label\" : \"20180831-153315F_20180831-153404I\",",
" \"prior\" : \"20180831-153315F_20180831-153355I\",",
" \"reference\" : [",
" \"20180831-153315F\",",
" \"20180831-153315F_20180831-153351I\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1535729644,",
" \"stop\" : 1535729649",
" },",
" \"type\" : \"incr\"",
" }",
" ],",
" \"db\" : [",
" {",
" \"id\" : 1,",
" \"system-id\" : 6595908319037845831,",
" \"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-08-31 15:34:09+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 20180831-153315F|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 20180831-153315F, 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" : [
"20180831-153412F"
]
}
},
{
"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\\: 20180831-153315F|archive retention on backup 20180831-153412F|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: 20180831-153315F, 20180831-153315F_20180831-153328D, 20180831-153315F_20180831-153351I, 20180831-153315F_20180831-153355I, 20180831-153315F_20180831-153404I",
"P00 INFO: remove expired backup 20180831-153315F_20180831-153404I",
"P00 INFO: remove expired backup 20180831-153315F_20180831-153355I",
" [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" : [
"20180831-153424F_20180831-153438D"
]
}
},
{
"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: 20180831-153424F_20180831-153438D"
]
},
"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: 20180831-153424F_20180831-153438D, 20180831-153424F_20180831-153443I",
"P00 INFO: remove expired backup 20180831-153424F_20180831-153443I",
"P00 INFO: remove expired backup 20180831-153424F_20180831-153438D"
]
}
},
{
"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" : [
"20180831-153424F_20180831-153447D"
]
}
},
{
"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 = 20180831-153424F_20180831-153452D",
"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" : [
"20180831-153424F_20180831-153452D"
]
}
},
{
"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 20180831-153424F_20180831-153447D|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: expire command begin 2.05: --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 20180831-153412F, archiveId = 9.5-1, start = 00000002000000000000000A, stop = 00000002000000000000000A",
"P00 DETAIL: archive retention on backup 20180831-153424F, archiveId = 9.5-1, start = 00000002000000000000000B, stop = 00000002000000000000000B",
"P00 DETAIL: archive retention on backup 20180831-153424F_20180831-153447D, archiveId = 9.5-1, start = 00000002000000000000000F, stop = 00000002000000000000000F",
"P00 DETAIL: archive retention on backup 20180831-153424F_20180831-153452D, 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-08-31 15:35:33.176803+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-08-31 15:35:33.176803+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-08-31 15:35:33.176803+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-08-31 15:35:26 UTC",
"LOG: starting point-in-time recovery to 2018-08-31 15:35:33.176803+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-08-31 15:35:33.337037+00",
"LOG: redo done at 0/1801BBF8",
"LOG: last completed transaction was at log time 2018-08-31 15:35:32.967532+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" : [
"20180831-153424F_20180831-153525D"
]
}
},
{
"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-08-31 15:35:33.176803+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-08-31 15:35:43 UTC",
"LOG: starting point-in-time recovery to 2018-08-31 15:35:33.176803+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" : [
"20180831-153424F_20180831-153525D"
]
},
"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: 20180831-153412F",
" timestamp start/stop: 2018-08-31 15:34:12 / 2018-08-31 15:34:24",
" wal start/stop: 00000002000000000000000A / 00000002000000000000000A",
" database size: 20.5MB, backup size: 20.5MB",
" repository size: 2.4MB, repository backup size: 2.4MB",
"",
" full backup: 20180831-153424F",
" timestamp start/stop: 2018-08-31 15:34:24 / 2018-08-31 15:34:37",
" wal start/stop: 00000002000000000000000B / 00000002000000000000000B",
" database size: 20.5MB, backup size: 20.5MB",
" repository size: 2.4MB, repository backup size: 2.4MB",
"",
" diff backup: 20180831-153424F_20180831-153452D",
" timestamp start/stop: 2018-08-31 15:34:52 / 2018-08-31 15:34:55",
" 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: 20180831-153424F",
"",
" incr backup: 20180831-153424F_20180831-153504I",
" timestamp start/stop: 2018-08-31 15:35:04 / 2018-08-31 15:35:14",
" wal start/stop: 000000030000000000000014 / 000000030000000000000014",
" database size: 33.9MB, backup size: 13.4MB",
" repository size: 4MB, repository backup size: 1.6MB",
" backup reference list: 20180831-153424F, 20180831-153424F_20180831-153452D",
"",
" diff backup: 20180831-153424F_20180831-153525D",
" timestamp start/stop: 2018-08-31 15:35:25 / 2018-08-31 15:35:32",
" 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: 20180831-153424F",
"",
" incr backup: 20180831-153424F_20180831-153542I",
" timestamp start/stop: 2018-08-31 15:35:42 / 2018-08-31 15:35:46",
" 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: 20180831-153424F, 20180831-153424F_20180831-153525D"
]
}
},
{
"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-08-31 15:35:33.176803+00\" \\",
" --set=20180831-153424F_20180831-153525D 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-08-31 15:35:26 UTC",
"LOG: starting point-in-time recovery to 2018-08-31 15:35:33.176803+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-08-31 15:35:33.337037+00",
"LOG: redo done at 0/1801BBF8",
"LOG: last completed transaction was at log time 2018-08-31 15:35:32.967532+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.05: --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.05: --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-08-31 15:36:08\": 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.05: --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.05: --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" : "pgbackrest/doc:co6-base",
"name" : "repository",
"os" : "co6",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.5"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo groupadd pgbackrest"
],
"host" : "repository",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo adduser -gpgbackrest -n pgbackrest"
],
"host" : "repository",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/root/pgbackrest-release-2.05/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): 000000080000000000000022 / 000000080000000000000023",
"",
" full backup: 20180831-153753F",
" timestamp start/stop: 2018-08-31 15:37:53 / 2018-08-31 15:38:08",
" wal start/stop: 000000080000000000000022 / 000000080000000000000022",
" database size: 27.3MB, backup size: 27.3MB",
" repository size: 3.1MB, repository backup size: 3.1MB",
"",
" full backup: 20180831-153809F",
" timestamp start/stop: 2018-08-31 15:38:09 / 2018-08-31 15:38:18",
" wal start/stop: 000000080000000000000023 / 000000080000000000000023",
" 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" : "pgbackrest/doc:co6-base",
"name" : "pg-standby",
"os" : "co6",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.6"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/root/pgbackrest-release-2.05/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-08-31 15:38:10 UTC",
"LOG: entering standby mode",
"LOG: restored log file \"00000008.history\" from archive",
"LOG: restored log file \"000000080000000000000023\" from archive",
"LOG: redo starts at 0/23000028",
"LOG: consistent recovery state reached at 0/23000130",
"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/2401F620 | 2018-08-31 15:38:53.804497+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-08-31 15:38:55.478306+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.05: --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 \"000000080000000000000024\" from archive",
"LOG: started streaming WAL from primary at 0/25000000 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-08-31 15:39:08.759313+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-08-31 15:39:09.0561+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.05: --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 00000008000000000000002A successfully stored in the archive at '/var/lib/pgbackrest/archive/demo/9.5-1/0000000800000000/00000008000000000000002A-d02c7b6fb931585cc34d8eb90d4fe45785e3fed8.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.05: [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 2 WAL file(s) to archive: 000000080000000000000025...000000080000000000000026",
"P02 DETAIL: pushed WAL file 000000080000000000000026 to archive",
"P01 DETAIL: pushed WAL file 000000080000000000000025 to archive",
"P00 INFO: archive-push command end: completed successfully",
"",
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push command begin 2.05: [pg_xlog/000000080000000000000027] --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: 000000080000000000000027...000000080000000000000029",
"P02 DETAIL: pushed WAL file 000000080000000000000028 to archive",
"P01 DETAIL: pushed WAL file 000000080000000000000027 to archive",
"P02 DETAIL: pushed WAL file 000000080000000000000029 to archive",
"P00 INFO: archive-push command end: completed successfully",
"",
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push command begin 2.05: [pg_xlog/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: push 1 WAL file(s) to archive: 00000008000000000000002A",
"P01 DETAIL: pushed WAL file 00000008000000000000002A 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.05: [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",
"P01 DETAIL: WAL file 000000080000000000000025 not found in archive",
"P02 DETAIL: WAL file 000000080000000000000026 not found in archive",
" [filtered 33 lines of output]",
"P00 INFO: archive-get command begin 2.05: [000000080000000000000025, 000000080000000000000026, 000000080000000000000027, 000000080000000000000028, 000000080000000000000029, 00000008000000000000002A, 00000008000000000000002B, 00000008000000000000002C] --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: 000000080000000000000025...00000008000000000000002C",
"P01 DETAIL: got WAL file 000000080000000000000025 from archive",
"P02 DETAIL: got WAL file 000000080000000000000026 from archive",
"P01 DETAIL: got WAL file 000000080000000000000027 from archive",
"P02 DETAIL: got WAL file 000000080000000000000028 from archive",
"P01 DETAIL: got WAL file 000000080000000000000029 from archive",
"P02 DETAIL: got WAL file 00000008000000000000002A from archive",
"P01 DETAIL: WAL file 00000008000000000000002B not found in archive",
"P02 DETAIL: WAL file 00000008000000000000002C not found in archive",
" [filtered 4 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres psql -c \"alter user replicator password 'jw8s0F4'\""
],
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"ALTER ROLE"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "repository",
"option" : {
"demo" : {
"pg2-host" : {
"value" : "pg-standby"
},
"pg2-path" : {
"value" : "/var/lib/pgsql/9.5/data"
}
},
"global" : {
"backup-standby" : {
"value" : "y"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-path=/var/lib/pgsql/9.5/data",
"pg2-host=pg-standby",
"pg2-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"backup-standby=y",
"process-max=3",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
"start-fast=y"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo --log-level-console=detail backup"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"backup file pg-primary|replay on the standby"
]
},
"host" : "repository",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 2 lines of output]",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-08-31 15:39:25\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 00000008000000000000002C, lsn = 0/2C000028",
"P00 INFO: wait for replay on the standby to reach 0/2C000028",
"P00 INFO: replay on the standby reached 0/2C0000D0",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/global/pg_control (8KB, 0%) checksum 18ec720292cc769ec02dffef2fee8a37e870d184",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/pg_log/postgresql.log (5.2KB, 0%) checksum f6af5fa36fc7350f96cc30b9458efc2acfca6317",
"P03 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2674 (360KB, 17%) checksum dd206a01cb42bf6ac2cff826b4842d8d2a968d8b",
"P04 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/1249 (360KB, 33%) checksum c29af94a5842e1ee2ba247a22d0eac022acce3bb",
"P02 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2608 (432KB, 53%) checksum f56299471251125acbf779dd195b363708779225",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/pg_hba.conf (4.1KB, 54%) checksum 1c0bca2f7f44d354aaaefb2c21fd1290b7379690",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/backup_label (238B, 54%) checksum aa56ff0d632245619e29099044e046ae5750b9b1",
"P03 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2673 (320KB, 68%) checksum e3d8e203cdfdb3c69681bb207bee0610eddf3480",
"P04 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2658 (112KB, 74%) checksum 99c01e1ada8802ef4d0f0f5f60888f77b38f78b2",
" [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 service postgresql-9.5 stop"
],
"host" : "pg-standby",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres /usr/pgsql-9.6/bin/initdb \\",
" -D /var/lib/pgsql/9.6/data -k -A peer"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres sh -c 'cd /var/lib/pgsql && \\",
" /usr/pgsql-9.6/bin/pg_upgrade \\",
" --old-bindir=/usr/pgsql-9.5/bin \\",
" --new-bindir=/usr/pgsql-9.6/bin \\",
" --old-datadir=/var/lib/pgsql/9.5/data \\",
" --new-datadir=/var/lib/pgsql/9.6/data \\",
" --old-options=\" -c config_file=/var/lib/pgsql/9.5/data/postgresql.conf\" \\",
" --new-options=\" -c config_file=/var/lib/pgsql/9.6/data/postgresql.conf\"'"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"Upgrade Complete"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 69 lines of output]",
"Creating script to delete old cluster ok",
"",
"Upgrade Complete",
"----------------",
"Optimizer statistics are not transferred by pg_upgrade so,",
" [filtered 4 lines of output]"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.6/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"archive_command" : {
"value" : "'pgbackrest --stanza=demo archive-push %p'"
},
"archive_mode" : {
"value" : "on"
},
"listen_addresses" : {
"value" : "'*'"
},
"log_line_prefix" : {
"value" : "''"
},
"max_wal_senders" : {
"value" : "3"
},
"port" : {
"value" : "5432"
},
"wal_level" : {
"value" : "hot_standby"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"archive_command = 'pgbackrest --stanza=demo archive-push %p'",
"archive_mode = on",
"listen_addresses = '*'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"port = 5432",
"wal_level = hot_standby"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/pgsql/9.6/data"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.6/data",
"",
"[global]",
"archive-async=y",
"log-level-file=detail",
"repo1-host=repository",
"spool-path=/var/spool/pgbackrest",
"",
"[global:archive-get]",
"process-max=2",
"",
"[global:archive-push]",
"process-max=2"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-standby",
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/pgsql/9.6/data"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.6/data",
"recovery-option=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.05: --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 5242) 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"
},
{
"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" : "pgbackrest/doc:u16-base",
"name" : "build",
"os" : "u16",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.3"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo mkdir /root/pgbackrest-release-2.05"
],
"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.05"
],
"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.05"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo apt-get update"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo apt-get install 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.05/src"
],
"host" : "build",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"id" : "pg1",
"image" : "pgbackrest/doc:u16-base",
"name" : "pg-primary",
"os" : "u16",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.4"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/root/pgbackrest-release-2.05/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.05 - 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 -u postgres bash -c ' \\",
" export PGBACKREST_LOG_PATH=/path/set/by/env && \\",
" pgbackrest --log-level-console=error help backup log-path'"
],
"highlight" : {
"filter" : false,
"filter-context" : 2,
"list" : [
"current\\: \\/path\\/set\\/by\\/env"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"pgBackRest 2.05 - 'backup' command - 'log-path' option help",
"",
"Path where log files are stored.",
"",
"The log path provides a location for pgBackRest to store log files. Note that",
"if log-level-file=off then no log path is required.",
"",
"current: /path/set/by/env",
"default: /var/log/pgbackrest"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo mkdir -p /var/lib/pgbackrest"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo chmod 750 /var/lib/pgbackrest"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo chown postgres:postgres /var/lib/pgbackrest"
],
"host" : "pg-primary",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-path" : {
"value" : "/var/lib/pgbackrest"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/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.05: --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.05: --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-12d96fa0774bbe39de78392ee50933842f0177e9.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.05: --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-08-31 15:41:43\": 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" : [
"20180831-154143F"
]
}
},
{
"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 1d1fc7300742b1a65981eea261c233e982c2b355",
"P01 INFO: backup file /var/lib/postgresql/9.4/demo/backup_label (236B, 100%) checksum 031e4dfef95cc45b20b3b30476ddece76de0ca52",
"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: 20180831-154143F",
" timestamp start/stop: 2018-08-31 15:41:43 / 2018-08-31 15:41:54",
" wal start/stop: 000000010000000000000002 / 000000010000000000000002",
" database size: 19.2MB, backup size: 19.2MB",
" repository size: 2.2MB, repository backup size: 2.2MB",
"",
" diff backup: 20180831-154143F_20180831-154155D",
" timestamp start/stop: 2018-08-31 15:41:55 / 2018-08-31 15:41:58",
" wal start/stop: 000000010000000000000003 / 000000010000000000000003",
" database size: 19.2MB, backup size: 8.2KB",
" repository size: 2.2MB, repository backup size: 400B",
" backup reference list: 20180831-154143F"
]
}
},
{
"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.05: --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 = 20180831-154143F_20180831-154155D, version = 2.05",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-08-31 15:42:15\": 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.05: --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 = 20180831-154143F_20180831-154215I, version = 2.05",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-08-31 15:42:20\": 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 5566ff3746aef64fdc9f25ca049357b27fb3a340",
" [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-08-31 15:42:24\": 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/20180831-154143F_20180831-154224I': 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.05: --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 = 20180831-154143F_20180831-154220I, version = 2.05",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-08-31 15:42:26\": 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-08-31 15:42:26', 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.05: --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 = 20180831-154143F_20180831-154220I, version = 2.05",
"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-08-31 15:42:28\": 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 eb4d731a80ca427c1f5c463cd96216e6d7dd7366",
" [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.05\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 20162900,",
" \"repository\" : {",
" \"delta\" : 2389328,",
" \"size\" : 2389328",
" },",
" \"size\" : 20162900",
" },",
" \"label\" : \"20180831-154143F\",",
" \"prior\" : null,",
" \"reference\" : null,",
" \"timestamp\" : {",
" \"start\" : 1535730103,",
" \"stop\" : 1535730114",
" },",
" \"type\" : \"full\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000010000000000000003\",",
" \"stop\" : \"000000010000000000000003\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.05\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 8428,",
" \"repository\" : {",
" \"delta\" : 400,",
" \"size\" : 2389328",
" },",
" \"size\" : 20162900",
" },",
" \"label\" : \"20180831-154143F_20180831-154155D\",",
" \"prior\" : \"20180831-154143F\",",
" \"reference\" : [",
" \"20180831-154143F\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1535730115,",
" \"stop\" : 1535730118",
" },",
" \"type\" : \"diff\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000020000000000000005\",",
" \"stop\" : \"000000020000000000000005\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.05\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 24812,",
" \"repository\" : {",
" \"delta\" : 544,",
" \"size\" : 2389328",
" },",
" \"size\" : 20162900",
" },",
" \"label\" : \"20180831-154143F_20180831-154215I\",",
" \"prior\" : \"20180831-154143F_20180831-154155D\",",
" \"reference\" : [",
" \"20180831-154143F\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1535730135,",
" \"stop\" : 1535730139",
" },",
" \"type\" : \"incr\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000020000000000000006\",",
" \"stop\" : \"000000020000000000000006\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.05\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 8428,",
" \"repository\" : {",
" \"delta\" : 400,",
" \"size\" : 2389328",
" },",
" \"size\" : 20162900",
" },",
" \"label\" : \"20180831-154143F_20180831-154220I\",",
" \"prior\" : \"20180831-154143F_20180831-154215I\",",
" \"reference\" : [",
" \"20180831-154143F\",",
" \"20180831-154143F_20180831-154215I\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1535730140,",
" \"stop\" : 1535730143",
" },",
" \"type\" : \"incr\"",
" },",
" {",
" \"archive\" : {",
" \"start\" : \"000000020000000000000008\",",
" \"stop\" : \"000000020000000000000008\"",
" },",
" \"backrest\" : {",
" \"format\" : 5,",
" \"version\" : \"2.05\"",
" },",
" \"database\" : {",
" \"id\" : 1",
" },",
" \"info\" : {",
" \"delta\" : 8428,",
" \"repository\" : {",
" \"delta\" : 400,",
" \"size\" : 2389328",
" },",
" \"size\" : 20162900",
" },",
" \"label\" : \"20180831-154143F_20180831-154228I\",",
" \"prior\" : \"20180831-154143F_20180831-154220I\",",
" \"reference\" : [",
" \"20180831-154143F\",",
" \"20180831-154143F_20180831-154215I\"",
" ],",
" \"timestamp\" : {",
" \"start\" : 1535730148,",
" \"stop\" : 1535730153",
" },",
" \"type\" : \"incr\"",
" }",
" ],",
" \"db\" : [",
" {",
" \"id\" : 1,",
" \"system-id\" : 6595910505281336210,",
" \"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-08-31 15:42:33+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" : [
"1535730153"
]
}
},
{
"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 20180831-154143F|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 20180831-154143F, 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" : [
"20180831-154238F"
]
}
},
{
"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\\: 20180831-154143F|archive retention on backup 20180831-154238F|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: 20180831-154143F, 20180831-154143F_20180831-154155D, 20180831-154143F_20180831-154215I, 20180831-154143F_20180831-154220I, 20180831-154143F_20180831-154228I",
"P00 INFO: remove expired backup 20180831-154143F_20180831-154228I",
"P00 INFO: remove expired backup 20180831-154143F_20180831-154220I",
" [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" : [
"20180831-154250F_20180831-154302D"
]
}
},
{
"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: 20180831-154250F_20180831-154302D"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 10 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin",
"P00 INFO: expire diff backup set: 20180831-154250F_20180831-154302D, 20180831-154250F_20180831-154305I",
"P00 INFO: remove expired backup 20180831-154250F_20180831-154305I",
"P00 INFO: remove expired backup 20180831-154250F_20180831-154302D"
]
}
},
{
"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" : [
"20180831-154250F_20180831-154309D"
]
}
},
{
"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 = 000000020000000000000012, lsn = 0/120000F0",
"P00 INFO: new backup label = 20180831-154250F_20180831-154315D",
"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" : [
"20180831-154250F_20180831-154315D"
]
}
},
{
"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 20180831-154250F_20180831-154309D|remove archive"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: expire command begin 2.05: --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 20180831-154238F, archiveId = 9.4-1, start = 00000002000000000000000A, stop = 00000002000000000000000A",
"P00 DETAIL: archive retention on backup 20180831-154250F, archiveId = 9.4-1, start = 00000002000000000000000B, stop = 00000002000000000000000B",
"P00 DETAIL: archive retention on backup 20180831-154250F_20180831-154309D, archiveId = 9.4-1, start = 00000002000000000000000E, stop = 00000002000000000000000E",
"P00 DETAIL: archive retention on backup 20180831-154250F_20180831-154315D, archiveId = 9.4-1, start = 000000020000000000000012",
"P00 DETAIL: remove archive: archiveId = 9.4-1, start = 00000002000000000000000C, stop = 00000002000000000000000D",
"P00 DETAIL: remove archive: archiveId = 9.4-1, start = 00000002000000000000000F, stop = 000000020000000000000011",
"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 692 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-08-31 15:43:57.937679+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-08-31 15:43:57.937679+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-08-31 15:43:57.937679+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-08-31 15:43:51 UTC",
"LOG: starting point-in-time recovery to 2018-08-31 15:43:57.937679+00",
"LOG: restored log file \"00000004.history\" from archive",
"LOG: restored log file \"000000040000000000000017\" from archive",
" [filtered 2 lines of output]",
"LOG: incomplete startup packet",
"LOG: restored log file \"000000040000000000000018\" from archive",
"LOG: recovery stopping before commit of transaction 689, time 2018-08-31 15:43:58.145676+00",
"LOG: redo done at 0/18016E48",
"LOG: last completed transaction was at log time 2018-08-31 15:43:57.724396+00",
"LOG: selected new timeline ID: 5",
"LOG: restored log file \"00000004.history\" from archive",
" [filtered 4 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres psql -c \"begin; \\",
" drop table important_table; \\",
" commit; \\",
" select * from important_table;\""
],
"err-expect" : "1",
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"does not exist"
]
},
"host" : "pg-primary",
"load-env" : true,
"output" : true,
"run-as-user" : null
},
"type" : "exe",
"value" : {
"output" : [
"ERROR: relation \"important_table\" does not exist",
"LINE 1: ...le important_table; commit; select * from important_...",
" ^"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres 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" : [
"20180831-154250F_20180831-154350D"
]
}
},
{
"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-08-31 15:43:57.937679+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-08-31 15:44:08 UTC",
"LOG: starting point-in-time recovery to 2018-08-31 15:43:57.937679+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/190000F0",
"LOG: incomplete startup packet",
"LOG: redo done at 0/190000F0",
" [filtered 10 lines of output]"
]
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo -u postgres pgbackrest info"
],
"highlight" : {
"filter" : false,
"filter-context" : 2,
"list" : [
"20180831-154250F_20180831-154350D"
]
},
"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 / 000000050000000000000019",
"",
" full backup: 20180831-154238F",
" timestamp start/stop: 2018-08-31 15:42:38 / 2018-08-31 15:42:49",
" wal start/stop: 00000002000000000000000A / 00000002000000000000000A",
" database size: 19.2MB, backup size: 19.2MB",
" repository size: 2.2MB, repository backup size: 2.2MB",
"",
" full backup: 20180831-154250F",
" timestamp start/stop: 2018-08-31 15:42:50 / 2018-08-31 15:43:00",
" wal start/stop: 00000002000000000000000B / 00000002000000000000000B",
" database size: 19.2MB, backup size: 19.2MB",
" repository size: 2.2MB, repository backup size: 2.2MB",
"",
" diff backup: 20180831-154250F_20180831-154315D",
" timestamp start/stop: 2018-08-31 15:43:15 / 2018-08-31 15:43:19",
" wal start/stop: 000000020000000000000012 / 000000020000000000000012",
" database size: 19.2MB, backup size: 72.2KB",
" repository size: 2.2MB, repository backup size: 9.8KB",
" backup reference list: 20180831-154250F",
"",
" incr backup: 20180831-154250F_20180831-154330I",
" timestamp start/stop: 2018-08-31 15:43:30 / 2018-08-31 15:43:38",
" wal start/stop: 000000030000000000000014 / 000000030000000000000014",
" database size: 31.7MB, backup size: 12.5MB",
" repository size: 3.7MB, repository backup size: 1.5MB",
" backup reference list: 20180831-154250F, 20180831-154250F_20180831-154315D",
"",
" diff backup: 20180831-154250F_20180831-154350D",
" timestamp start/stop: 2018-08-31 15:43:50 / 2018-08-31 15:43:57",
" wal start/stop: 000000040000000000000017 / 000000040000000000000017",
" database size: 25.5MB, backup size: 6.3MB",
" repository size: 3MB, repository backup size: 781KB",
" backup reference list: 20180831-154250F",
"",
" incr backup: 20180831-154250F_20180831-154407I",
" timestamp start/stop: 2018-08-31 15:44:07 / 2018-08-31 15:44:10",
" wal start/stop: 000000050000000000000019 / 000000050000000000000019",
" database size: 25.5MB, backup size: 1.7MB",
" repository size: 3MB, repository backup size: 201.5KB",
" backup reference list: 20180831-154250F, 20180831-154250F_20180831-154350D"
]
}
},
{
"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-08-31 15:43:57.937679+00\" \\",
" --set=20180831-154250F_20180831-154350D 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-08-31 15:43:51 UTC",
"LOG: starting point-in-time recovery to 2018-08-31 15:43:57.937679+00",
"LOG: restored log file \"00000004.history\" from archive",
"LOG: restored log file \"000000040000000000000017\" from archive",
" [filtered 2 lines of output]",
"LOG: incomplete startup packet",
"LOG: restored log file \"000000040000000000000018\" from archive",
"LOG: recovery stopping before commit of transaction 689, time 2018-08-31 15:43:58.145676+00",
"LOG: redo done at 0/18016E48",
"LOG: last completed transaction was at log time 2018-08-31 15:43:57.724396+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.05: --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.05: --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-08-31 15:44:32\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000070000000000000019, lsn = 0/19000028",
" [filtered 995 lines of output]",
"P01 INFO: backup file /var/lib/postgresql/9.4/demo/base/1/11895 (0B, 100%)",
"P03 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 = 000000070000000000000019, lsn = 0/19000128",
" [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.05: --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.05: --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" : "pgbackrest/doc:u16-base",
"name" : "repository",
"os" : "u16",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.5"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo adduser --disabled-password --gecos \"\" pgbackrest"
],
"host" : "repository",
"load-env" : true,
"output" : false,
"run-as-user" : null
},
"type" : "exe"
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/root/pgbackrest-release-2.05/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): 000000080000000000000020 / 000000080000000000000021",
"",
" full backup: 20180831-154608F",
" timestamp start/stop: 2018-08-31 15:46:08 / 2018-08-31 15:46:22",
" wal start/stop: 000000080000000000000020 / 000000080000000000000020",
" database size: 25.5MB, backup size: 25.5MB",
" repository size: 3MB, repository backup size: 3MB",
"",
" full backup: 20180831-154623F",
" timestamp start/stop: 2018-08-31 15:46:23 / 2018-08-31 15:46:30",
" wal start/stop: 000000080000000000000021 / 000000080000000000000021",
" 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" : "pgbackrest/doc:u16-base",
"name" : "pg-standby",
"os" : "u16",
"update-hosts" : true
},
"type" : "host",
"value" : {
"ip" : "172.17.0.6"
}
},
{
"key" : {
"bash-wrap" : true,
"cmd" : [
"sudo scp build:/root/pgbackrest-release-2.05/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-08-31 15:46:24 UTC",
"LOG: entering standby mode",
"LOG: restored log file \"00000008.history\" from archive",
"LOG: incomplete startup packet",
"LOG: restored log file \"000000080000000000000021\" from archive",
"LOG: redo starts at 0/21000028",
"LOG: consistent recovery state reached at 0/21000128",
"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/22019A60 | 2018-08-31 15:47:09.288356+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-08-31 15:47:11.469652+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.05: --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 \"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-08-31 15:47:22.73521+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-08-31 15:47:23.023834+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.05: --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 000000080000000000000028 successfully stored in the archive at '/var/lib/pgbackrest/archive/demo/9.4-1/0000000800000000/000000080000000000000028-fcfe5baf23efcdd73475b1fa697a636ff1c511f1.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.05: [pg_xlog/000000080000000000000023] --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: 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.05: [pg_xlog/000000080000000000000025] --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: 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.05: [pg_xlog/000000080000000000000028] --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: 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.05: [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/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: 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.05: [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/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: 000000080000000000000023...00000008000000000000002A",
"P01 DETAIL: got WAL file 000000080000000000000023 from archive",
"P02 DETAIL: got WAL file 000000080000000000000024 from archive",
"P01 DETAIL: got WAL file 000000080000000000000025 from archive",
"P02 DETAIL: got WAL file 000000080000000000000026 from archive",
"P01 DETAIL: got WAL file 000000080000000000000027 from archive",
"P02 DETAIL: got WAL file 000000080000000000000028 from archive",
"P01 DETAIL: WAL file 000000080000000000000029 not found in archive",
"P02 DETAIL: WAL file 00000008000000000000002A not found in archive",
" [filtered 22 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-08-31 15:47:41\": 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/2A000348",
"P01 INFO: backup file pg-primary:/var/lib/postgresql/9.4/demo/global/pg_control (8KB, 0%) checksum 634aa023058f3ad059aa435a83aa0e0cb9f3a98b",
"P01 INFO: backup file pg-primary:/var/lib/postgresql/9.4/demo/backup_label (238B, 0%) checksum 1daf509a46fa305b56154d14b2735d33ed004bf5",
"P02 INFO: backup file pg-standby:/var/lib/postgresql/9.4/demo/base/12139/12007 (392KB, 20%) checksum 337e28ce09946f61395798378496aabb1237986f",
"P04 INFO: backup file pg-standby:/var/lib/postgresql/9.4/demo/base/12139/12009 (240KB, 33%) checksum 865d98b07e9149d6f60a1145520badcfbbc5ec2b",
" [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 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 /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.05: --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"
},
{
"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"
]
}
}
]
}
}
}