{ "co6" : { "all" : { "user-guide" : [ { "key" : { "image" : "pgbackrest/vagrant/co6-db-9.4-doc-pre", "mount" : "/backrest:/backrest", "name" : "db-master", "os" : "co6", "user" : "vagrant" }, "type" : "host", "value" : { "ip" : "172.17.0.2" } }, { "key" : { "cmd" : [ "sudo yum install perl perl-Time-HiRes perl-parent perl-JSON \\", " perl-Digest-SHA perl-DBD-Pg" ], "cmd-extra" : "-y", "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm -f /usr/bin/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm -f /usr/bin/pg_backrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm -rf /usr/lib/perl5/BackRest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm -rf /usr/share/perl5/BackRest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm -rf /usr/lib/perl5/pgBackRest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm -rf /usr/share/perl5/pgBackRest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo cp -r ~/pgbackrest-release-1.15/lib/pgBackRest \\", " /usr/share/perl5" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo find /usr/share/perl5/pgBackRest -type f -exec chmod 644 {} +" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo find /usr/share/perl5/pgBackRest -type d -exec chmod 755 {} +" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo cp ~/pgbackrest-release-1.15/bin/pgbackrest /usr/bin/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo chmod 755 /usr/bin/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo mkdir -m 770 /var/log/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo chown postgres:postgres /var/log/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "pgBackRest 1.15 - 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.", " start Allow pgBackRest processes to run.", " stop Stop pgBackRest processes from running.", " version Get version.", "", "Use 'pgbackrest help [command]' for more information." ] } }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 initdb" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "Initializing database: [ OK ]\r" ] } }, { "key" : { "file" : "/var/lib/pgsql/9.4/data/postgresql.conf", "host" : "db-master", "option" : { "listen_addresses" : { "value" : "'*'" } } }, "type" : "cfg-postgresql", "value" : { "config" : [ "listen_addresses = '*'" ] } }, { "key" : { "file" : "/var/lib/pgsql/9.4/data/postgresql.conf", "host" : "db-master", "option" : { "log_line_prefix" : { "value" : "''" } } }, "type" : "cfg-postgresql", "value" : { "config" : [ "listen_addresses = '*'", "log_line_prefix = ''" ] } }, { "key" : { "file" : "/var/lib/pgsql/9.4/data/postgresql.conf", "host" : "db-master", "option" : { "log_filename" : { "value" : "'postgresql.log'" } } }, "type" : "cfg-postgresql", "value" : { "config" : [ "listen_addresses = '*'", "log_filename = 'postgresql.log'", "log_line_prefix = ''" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "demo" : { "db-path" : { "value" : "/var/lib/pgsql/9.4/data" } }, "global" : { "log-level-stderr" : { "value" : "off" }, "log-timestamp" : { "value" : "n" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/pgsql/9.4/data" ] } }, { "key" : { "cmd" : [ "sudo mkdir /var/lib/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo chmod 750 /var/lib/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo chown postgres:postgres /var/lib/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "repo-path" : { "value" : "/var/lib/pgbackrest" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/pgsql/9.4/data", "", "[global]", "repo-path=/var/lib/pgbackrest" ] } }, { "key" : { "file" : "/var/lib/pgsql/9.4/data/postgresql.conf", "host" : "db-master", "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" : { "cmd" : [ "sudo service postgresql-9.4 restart" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "retention-full" : { "value" : "2" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/pgsql/9.4/data", "", "[global]", "repo-path=/var/lib/pgbackrest", "retention-full=2" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-create" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "completed successfully" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: stanza-create command begin 1.15: --db-path=/var/lib/pgsql/9.4/data --log-level-console=info --no-log-timestamp --repo-path=/var/lib/pgbackrest --stanza=demo", "P00 INFO: stanza-create command end: completed successfully" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: check command begin 1.15: --db-path=/var/lib/pgsql/9.4/data --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-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-b4fe10d3756630e845445f178118f7720ff129cb.gz'", "P00 INFO: check command end: completed successfully" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: backup command begin 1.15: --db-path=/var/lib/pgsql/9.4/data --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --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 2017-02-14 00:26:01\": backup begins after the next regular checkpoint completes", "P00 INFO: backup start archive = 000000010000000000000002, lsn = 0/2000028", " [filtered 761 lines of output]", "P01 INFO: backup file /var/lib/pgsql/9.4/data/base/1/11896 (0B, 100%)", "P01 INFO: backup file /var/lib/pgsql/9.4/data/base/1/11886 (0B, 100%)", "P00 INFO: full backup size = 19.3MB", "P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive", "P00 INFO: backup stop archive = 000000010000000000000002, lsn = 0/20000F0", " [filtered 4 lines of output]" ] } }, { "key" : { "cmd" : [ "sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -4 | head -1" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "20170214-002606F" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 4 lines of output]", "P01 INFO: backup file /var/lib/pgsql/9.4/data/global/pg_control (8KB, 97%) checksum 3d0b2a5d567d7a96c09ce86e1d163760d5edb5b9", "P01 INFO: backup file /var/lib/pgsql/9.4/data/backup_label (236B, 100%) checksum 9c5120707cb7c30d0e3052916f4dac934d61d71b", "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" : { "cmd" : [ "sudo -u postgres pgbackrest info" ], "highlight" : { "filter" : false, "filter-context" : 2, "list" : [ "(full|incr|diff) backup" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "stanza: demo", " status: ok", " wal archive min/max: 000000010000000000000002 / 000000010000000000000003", "", " full backup: 20170214-002606F", " timestamp start/stop: 2017-02-14 00:26:01 / 2017-02-14 00:26:06", " wal start/stop: 000000010000000000000002 / 000000010000000000000002", " database size: 19.3MB, backup size: 19.3MB", " repository size: 2.2MB, repository backup size: 2.2MB", "", " diff backup: 20170214-002606F_20170214-002610D", " timestamp start/stop: 2017-02-14 00:26:07 / 2017-02-14 00:26:10", " wal start/stop: 000000010000000000000003 / 000000010000000000000003", " database size: 19.3MB, backup size: 8.2KB", " repository size: 2.2MB, repository backup size: 343B", " backup reference list: 20170214-002606F" ] } }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres rm /var/lib/pgsql/9.4/data/global/pg_control" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm -f /var/lib/pgsql/9.4/pgstartup.log" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 start" ], "err-expect" : "1", "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo cat /var/lib/pgsql/9.4/pgstartup.log" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "could not find the database system" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "postmaster: could not find the database system", "Expected to find it in the directory \"/var/lib/pgsql/9.4/data\",", "but could not open file \"/var/lib/pgsql/9.4/data/global/pg_control\": No such file or directory" ] } }, { "key" : { "cmd" : [ "sudo -u postgres find /var/lib/pgsql/9.4/data -mindepth 1 -delete" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo restore" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: backup command begin 1.15: --db-path=/var/lib/pgsql/9.4/data --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-full=2 --stanza=demo --type=incr", "P00 INFO: last backup label = 20170214-002606F_20170214-002610D, version = 1.15", "P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2017-02-14 00:26:21\": 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.4/data/base/12140/pg_internal.init (115.2KB, 71%) checksum 09ebced2b3aa95a00340e9480900f4c30bb8eadb", " [filtered 14 lines of output]" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "start-fast" : { "value" : "y" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/pgsql/9.4/data", "", "[global]", "repo-path=/var/lib/pgbackrest", "retention-full=2", "start-fast=y" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: backup command begin 1.15: --db-path=/var/lib/pgsql/9.4/data --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-full=2 --stanza=demo --start-fast --type=incr", "P00 INFO: last backup label = 20170214-002606F_20170214-002625I, version = 1.15", "P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2017-02-14 00:26:26\": 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.4/data/global/pg_control (8KB, 97%) checksum 21b229f1d4ff6bdaca64727c667e19ee64e95726", " [filtered 8 lines of output]" ] } }, { "key" : { "cmd" : [ "sudo chmod 550 /var/lib/pgbackrest/temp" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --type=incr \\", " --log-level-console=info backup" ], "err-expect" : "122", "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "ERROR:" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 2 lines of output]", "P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2017-02-14 00:26:30\": backup begins after the requested immediate checkpoint completes", "P00 INFO: backup start archive = 000000020000000000000007, lsn = 0/7000028", "P00 ERROR: [122]: unable to create /var/lib/pgbackrest/temp/demo.tmp: Permission denied", "P00 INFO: backup command end: aborted with exception [122]" ] } }, { "key" : { "cmd" : [ "sudo chmod 750 /var/lib/pgbackrest/temp" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --type=incr \\", " --log-level-console=info backup" ], "err-expect" : "132", "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "ERROR:" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: backup command begin 1.15: --db-path=/var/lib/pgsql/9.4/data --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-full=2 --stanza=demo --start-fast --type=incr", "P00 INFO: last backup label = 20170214-002606F_20170214-002629I, version = 1.15", "P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2017-02-14 00:26:32\": backup begins after the requested immediate checkpoint completes", "P00 ERROR: [132]: 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 2017-02-14 00:26:32', true) as lsn" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "stop-auto" : { "value" : "y" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/pgsql/9.4/data", "", "[global]", "repo-path=/var/lib/pgbackrest", "retention-full=2", "start-fast=y", "stop-auto=y" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: backup command begin 1.15: --db-path=/var/lib/pgsql/9.4/data --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-full=2 --stanza=demo --start-fast --stop-auto --type=incr", "P00 INFO: last backup label = 20170214-002606F_20170214-002629I, version = 1.15", "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 2017-02-14 00:26:34\": 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.4/data/global/pg_control (8KB, 84%) checksum d14446c726a125795fc0d53480b24883233ba1a2", " [filtered 9 lines of output]" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "retention-full" : { "value" : "2" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/pgsql/9.4/data", "", "[global]", "repo-path=/var/lib/pgbackrest", "retention-full=2", "start-fast=y", "stop-auto=y" ] } }, { "key" : { "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 20170214-002606F|remove archive" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 770 lines of output]", "P00 INFO: backup command end: completed successfully", "P00 INFO: expire command begin 1.15: --log-level-console=detail --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-archive=2 --retention-full=2 --stanza=demo", "P00 DETAIL: archive retention on backup 20170214-002606F, start = 000000010000000000000002", "P00 DETAIL: no archive to remove", "P00 INFO: expire command end: completed successfully" ] } }, { "key" : { "cmd" : [ "sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -4 | head -1" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "20170214-002645F" ] } }, { "key" : { "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\\: 20170214-002606F|archive retention on backup 20170214-002645F|remove archive" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 770 lines of output]", "P00 INFO: backup command end: completed successfully", "P00 INFO: expire command begin 1.15: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-archive=2 --retention-full=2 --stanza=demo", "P00 INFO: expire full backup set: 20170214-002606F, 20170214-002606F_20170214-002610D, 20170214-002606F_20170214-002625I, 20170214-002606F_20170214-002629I, 20170214-002606F_20170214-002639I", "P00 INFO: remove expired backup 20170214-002606F_20170214-002639I", "P00 INFO: remove expired backup 20170214-002606F_20170214-002629I", " [filtered 3 lines of output]" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "retention-diff" : { "value" : "1" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/pgsql/9.4/data", "", "[global]", "repo-path=/var/lib/pgbackrest", "retention-diff=1", "retention-full=2", "start-fast=y", "stop-auto=y" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --type=diff backup" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -4 | head -1" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "20170214-002651F_20170214-002656D" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --type=incr backup" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "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: 20170214-002651F_20170214-002656D" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 10 lines of output]", "P00 INFO: backup command end: completed successfully", "P00 INFO: expire command begin 1.15: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-archive=2 --retention-diff=1 --retention-full=2 --stanza=demo", "P00 INFO: expire diff backup set: 20170214-002651F_20170214-002656D, 20170214-002651F_20170214-002700I", "P00 INFO: remove expired backup 20170214-002651F_20170214-002700I", "P00 INFO: remove expired backup 20170214-002651F_20170214-002656D" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "retention-diff" : { "value" : "2" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/pgsql/9.4/data", "", "[global]", "repo-path=/var/lib/pgbackrest", "retention-diff=2", "retention-full=2", "start-fast=y", "stop-auto=y" ] } }, { "key" : { "cmd" : [ "sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -4 | head -1" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "20170214-002651F_20170214-002704D" ] } }, { "key" : { "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" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "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" : "db-master", "output" : true }, "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 = 000000020000000000000011, lsn = 0/110000F0", "P00 INFO: new backup label = 20170214-002651F_20170214-002709D", "P00 INFO: backup command end: completed successfully", "P00 INFO: expire command begin 1.15: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-archive=2 --retention-diff=2 --retention-full=2 --stanza=demo" ] } }, { "key" : { "cmd" : [ "sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -4 | head -1" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "20170214-002651F_20170214-002709D" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --log-level-console=detail \\", " --retention-archive-type=diff --retention-archive=1 expire" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "archive retention on backup 20170214-002651F_20170214-002704D|remove archive" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: expire command begin 1.15: --log-level-console=detail --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-archive=1 --retention-archive-type=diff --retention-diff=2 --retention-full=2 --stanza=demo", "P00 DETAIL: archive retention on backup 20170214-002645F, start = 000000020000000000000009, stop = 000000020000000000000009", "P00 DETAIL: archive retention on backup 20170214-002651F, start = 00000002000000000000000A, stop = 00000002000000000000000A", "P00 DETAIL: archive retention on backup 20170214-002651F_20170214-002704D, start = 00000002000000000000000D, stop = 00000002000000000000000D", "P00 DETAIL: archive retention on backup 20170214-002651F_20170214-002709D, start = 000000020000000000000011", "P00 DETAIL: remove archive: start = 00000002000000000000000B, stop = 00000002000000000000000C", "P00 DETAIL: remove archive: start = 00000002000000000000000E, stop = 000000020000000000000010", "P00 INFO: expire command end: completed successfully" ] } }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 785 lines of output]", "P01 DETAIL: restore file /var/lib/pgsql/9.4/data/base/1/11886 - exists and is zero size (0B, 100%)", "P00 INFO: write /var/lib/pgsql/9.4/data/recovery.conf", "P00 INFO: restore global/pg_control (copied last to ensure aborted restores cannot be started)", "P00 INFO: restore command end: completed successfully" ] } }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"create database test1;\"" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "CREATE DATABASE" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"create database test2;\"" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "CREATE DATABASE" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --type=incr backup" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"create table test1_table (id int); \\", " insert into test1_table (id) values (1);\" test1" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "INSERT 0 1" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"create table test2_table (id int); \\", " insert into test2_table (id) values (2);\" test2" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "INSERT 0 1" ] } }, { "key" : { "cmd" : [ "sudo -u postgres du -sh /var/lib/pgsql/9.4/data/base/16384" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "6.4M\t/var/lib/pgsql/9.4/data/base/16384" ] } }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --delta \\", " --db-include=test2 restore" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"select * from test2_table;\" test2" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " id ", "----", " 2", "(1 row)" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "psql: FATAL: relation mapping file \"base/16384/pg_filenode.map\" contains invalid data" ] } }, { "key" : { "cmd" : [ "sudo -u postgres du -sh /var/lib/pgsql/9.4/data/base/16384" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "152K\t/var/lib/pgsql/9.4/data/base/16384" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"drop database test1;\"" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "DROP DATABASE" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"select oid, datname from pg_database order by oid;\"" ], "highlight" : { "filter" : false, "filter-context" : 2, "list" : [ "test2" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " oid | datname ", "-------+-----------", " 1 | template1", " 12135 | template0", " 12140 | postgres", " 16385 | test2", "(4 rows)" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --type=diff backup" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " message ", "----------------", " Important Data", "(1 row)" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -Atc \"select current_timestamp\"" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "2017-02-14 00:27:34.640879+00" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "ERROR: relation \"important_table\" does not exist", "LINE 1: ...le important_table; commit; select * from important_...", " ^" ] } }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --delta \\", " --type=time \"--target=2017-02-14 00:27:34.640879+00\" restore" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm /var/lib/pgsql/9.4/data/pg_log/postgresql.log" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres cat /var/lib/pgsql/9.4/data/recovery.conf" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "recovery_target_time" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "restore_command = '/usr/bin/pgbackrest --stanza=demo archive-get %f \"%p\"'", "recovery_target_time = '2017-02-14 00:27:34.640879+00'" ] } }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"select * from important_table\"" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "Important Data" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " message ", "----------------", " Important Data", "(1 row)" ] } }, { "key" : { "cmd" : [ "sudo -u postgres cat /var/lib/pgsql/9.4/data/pg_log/postgresql.log" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "recovery stopping before|last completed transaction|starting point-in-time recovery" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "LOG: database system was interrupted; last known up at 2017-02-14 00:27:31 UTC", "LOG: creating missing WAL directory \"pg_xlog/archive_status\"", "LOG: starting point-in-time recovery to 2017-02-14 00:27:34.640879+00", "LOG: restored log file \"00000004.history\" from archive", "LOG: restored log file \"000000040000000000000016\" from archive", "LOG: redo starts at 0/16000028", "LOG: consistent recovery state reached at 0/160000F0", "LOG: restored log file \"000000040000000000000017\" from archive", "LOG: recovery stopping before commit of transaction 686, time 2017-02-14 00:27:34.756018+00", "LOG: redo done at 0/170157F0", "LOG: last completed transaction was at log time 2017-02-14 00:27:34.539899+00", "LOG: selected new timeline ID: 5", "LOG: restored log file \"00000004.history\" from archive", " [filtered 3 lines of output]" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "ERROR: relation \"important_table\" does not exist", "LINE 1: ...le important_table; commit; select * from important_...", " ^" ] } }, { "key" : { "cmd" : [ "sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -4 | head -1" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "20170214-002651F_20170214-002734D" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --type=incr backup" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --delta \\", " --type=time \"--target=2017-02-14 00:27:34.640879+00\" restore" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm /var/lib/pgsql/9.4/data/pg_log/postgresql.log" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"select * from important_table\"" ], "err-expect" : "1", "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "does not exist" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "ERROR: relation \"important_table\" does not exist", "LINE 1: select * from important_table", " ^" ] } }, { "key" : { "cmd" : [ "sudo -u postgres cat /var/lib/pgsql/9.4/data/pg_log/postgresql.log" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "starting point-in-time recovery|consistent recovery state reached" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "LOG: database system was interrupted; last known up at 2017-02-14 00:27:43 UTC", "LOG: creating missing WAL directory \"pg_xlog/archive_status\"", "LOG: starting point-in-time recovery to 2017-02-14 00:27:34.640879+00", "LOG: restored log file \"00000005.history\" from archive", "LOG: restored log file \"000000050000000000000018\" from archive", "LOG: redo starts at 0/18000028", "LOG: consistent recovery state reached at 0/180000F0", "LOG: redo done at 0/180000F0", "LOG: restored log file \"000000050000000000000018\" from archive", " [filtered 7 lines of output]" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest info" ], "highlight" : { "filter" : false, "filter-context" : 2, "list" : [ "20170214-002651F_20170214-002734D" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "stanza: demo", " status: ok", " wal archive min/max: 000000020000000000000009 / 000000050000000000000018", "", " full backup: 20170214-002645F", " timestamp start/stop: 2017-02-14 00:26:40 / 2017-02-14 00:26:45", " wal start/stop: 000000020000000000000009 / 000000020000000000000009", " database size: 19.3MB, backup size: 19.3MB", " repository size: 2.2MB, repository backup size: 2.2MB", "", " full backup: 20170214-002651F", " timestamp start/stop: 2017-02-14 00:26:45 / 2017-02-14 00:26:51", " wal start/stop: 00000002000000000000000A / 00000002000000000000000A", " database size: 19.3MB, backup size: 19.3MB", " repository size: 2.2MB, repository backup size: 2.2MB", "", " diff backup: 20170214-002651F_20170214-002709D", " timestamp start/stop: 2017-02-14 00:27:05 / 2017-02-14 00:27:09", " wal start/stop: 000000020000000000000011 / 000000020000000000000011", " database size: 19.3MB, backup size: 10KB", " repository size: 2.2MB, repository backup size: 1KB", " backup reference list: 20170214-002651F", "", " incr backup: 20170214-002651F_20170214-002721I", " timestamp start/stop: 2017-02-14 00:27:17 / 2017-02-14 00:27:21", " wal start/stop: 000000030000000000000013 / 000000030000000000000013", " database size: 31.9MB, backup size: 12.7MB", " repository size: 3.7MB, repository backup size: 1.5MB", " backup reference list: 20170214-002651F", "", " diff backup: 20170214-002651F_20170214-002734D", " timestamp start/stop: 2017-02-14 00:27:30 / 2017-02-14 00:27:34", " wal start/stop: 000000040000000000000016 / 000000040000000000000016", " database size: 25.7MB, backup size: 6.5MB", " repository size: 3MB, repository backup size: 790KB", " backup reference list: 20170214-002651F", "", " incr backup: 20170214-002651F_20170214-002745I", " timestamp start/stop: 2017-02-14 00:27:42 / 2017-02-14 00:27:45", " wal start/stop: 000000050000000000000018 / 000000050000000000000018", " database size: 25.6MB, backup size: 1.9MB", " repository size: 3MB, repository backup size: 214.7KB", " backup reference list: 20170214-002651F, 20170214-002651F_20170214-002734D" ] } }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --delta \\", " --type=time \"--target=2017-02-14 00:27:34.640879+00\" \\", " --set=20170214-002651F_20170214-002734D restore" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm /var/lib/pgsql/9.4/data/pg_log/postgresql.log" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"select * from important_table\"" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "Important Data" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " message ", "----------------", " Important Data", "(1 row)" ] } }, { "key" : { "cmd" : [ "sudo -u postgres cat /var/lib/pgsql/9.4/data/pg_log/postgresql.log" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "recovery stopping before|last completed transaction|starting point-in-time recovery" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "LOG: database system was interrupted; last known up at 2017-02-14 00:27:31 UTC", "LOG: creating missing WAL directory \"pg_xlog/archive_status\"", "LOG: starting point-in-time recovery to 2017-02-14 00:27:34.640879+00", "LOG: restored log file \"00000004.history\" from archive", "LOG: restored log file \"000000040000000000000016\" from archive", "LOG: redo starts at 0/16000028", "LOG: consistent recovery state reached at 0/160000F0", "LOG: restored log file \"000000040000000000000017\" from archive", "LOG: recovery stopping before commit of transaction 686, time 2017-02-14 00:27:34.756018+00", "LOG: redo done at 0/170157F0", "LOG: last completed transaction was at log time 2017-02-14 00:27:34.539899+00", "LOG: restored log file \"00000005.history\" from archive", "LOG: restored log file \"00000006.history\" from archive", " [filtered 5 lines of output]" ] } }, { "key" : { "image" : "pgbackrest/vagrant/co6-backup-doc-pre", "mount" : "/backrest:/backrest", "name" : "backup", "os" : "co6", "user" : "vagrant" }, "type" : "host", "value" : { "ip" : "172.17.0.3" } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "backup", "option" : { "global" : { "repo-path" : { "value" : "/var/lib/pgbackrest" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[global]", "repo-path=/var/lib/pgbackrest" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "backup", "option" : { "demo" : { "db1-host" : { "value" : "db-master" }, "db1-path" : { "value" : "/var/lib/pgsql/9.4/data" }, "db1-user" : { "value" : "postgres" } }, "global" : { "log-level-stderr" : { "value" : "off" }, "log-timestamp" : { "value" : "n" }, "retention-full" : { "value" : "2" }, "start-fast" : { "value" : "y" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db1-host=db-master", "db1-path=/var/lib/pgsql/9.4/data", "db1-user=postgres", "", "[global]", "repo-path=/var/lib/pgbackrest", "retention-full=2", "start-fast=y" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "demo" : { "db-path" : { "value" : "/var/lib/pgsql/9.4/data" } }, "global" : { "backup-host" : { "value" : "backup" }, "backup-user" : { "value" : "backrest" }, "log-level-file" : { "value" : "detail" }, "log-level-stderr" : { "value" : "off" }, "log-timestamp" : { "value" : "n" }, "repo-path" : { "value" : "/var/lib/pgbackrest" } } }, "reset" : true }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/pgsql/9.4/data", "", "[global]", "backup-host=backup", "backup-user=backrest", "log-level-file=detail", "repo-path=/var/lib/pgbackrest" ] } }, { "key" : { "cmd" : [ "sudo find /var/lib/pgbackrest -delete" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo stanza-create" ], "host" : "backup", "output" : true }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo check" ], "host" : "db-master", "output" : true }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo check" ], "host" : "backup", "output" : true }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo backup" ], "host" : "backup", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 WARN: no prior backup exists, incr backup has been changed to full" ] } }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --delta restore" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo backup" ], "host" : "backup", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo mkdir -m 750 /var/spool/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo chown postgres:postgres /var/spool/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "archive-async" : { "value" : "y" }, "spool-path" : { "value" : "/var/spool/pgbackrest" } }, "global:archive-push" : { "process-max" : { "value" : "2" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/pgsql/9.4/data", "", "[global]", "archive-async=y", "backup-host=backup", "backup-user=backrest", "log-level-file=detail", "repo-path=/var/lib/pgbackrest", "spool-path=/var/spool/pgbackrest", "", "[global:archive-push]", "process-max=2" ] } }, { "key" : { "cmd" : [ "sudo -u postgres rm -f /var/log/pgbackrest/demo-archive-async.log" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "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" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info check" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "WAL segment" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: check command begin 1.15: --backup-host=backup --backup-user=backrest --db-path=/var/lib/pgsql/9.4/data --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --stanza=demo", "P00 INFO: WAL segment 000000080000000000000021 successfully stored in the archive at '/var/lib/pgbackrest/archive/demo/9.4-1/0000000800000000/000000080000000000000021-9d2923252bc2c4f636c66ce7642c396e07cc1ee5.gz'", "P00 INFO: check command end: completed successfully" ] } }, { "key" : { "cmd" : [ "sudo -u postgres cat /var/log/pgbackrest/demo-archive-async.log" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ " WAL file\\(s\\) to archive|pushed WAL file 0000000" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "-------------------PROCESS START-------------------", "P00 INFO: archive-push command begin 1.15: --archive-async --backup-host=backup --backup-user=backrest --db-path=/var/lib/pgsql/9.4/data --log-level-file=detail --log-level-stderr=off --no-log-timestamp --process-max=2 --repo-path=/var/lib/pgbackrest --spool-path=/var/spool/pgbackrest --stanza=demo", "P00 INFO: push 2 WAL file(s) to archive: 00000008000000000000001C...00000008000000000000001D", "P01 DETAIL: pushed WAL file 00000008000000000000001C to archive", "P02 DETAIL: pushed WAL file 00000008000000000000001D to archive", "P00 INFO: archive-push command end: completed successfully", "", "-------------------PROCESS START-------------------", "P00 INFO: archive-push command begin 1.15: --archive-async --backup-host=backup --backup-user=backrest --db-path=/var/lib/pgsql/9.4/data --log-level-file=detail --log-level-stderr=off --no-log-timestamp --process-max=2 --repo-path=/var/lib/pgbackrest --spool-path=/var/spool/pgbackrest --stanza=demo", "P00 INFO: push 3 WAL file(s) to archive: 00000008000000000000001E...000000080000000000000020", "P01 DETAIL: pushed WAL file 00000008000000000000001E to archive", "P02 DETAIL: pushed WAL file 00000008000000000000001F to archive", "P01 DETAIL: pushed WAL file 000000080000000000000020 to archive", "P00 INFO: archive-push command end: completed successfully", "", "-------------------PROCESS START-------------------", "P00 INFO: archive-push command begin 1.15: --archive-async --backup-host=backup --backup-user=backrest --db-path=/var/lib/pgsql/9.4/data --log-level-file=detail --log-level-stderr=off --no-log-timestamp --process-max=2 --repo-path=/var/lib/pgbackrest --spool-path=/var/spool/pgbackrest --stanza=demo", "P00 INFO: push 1 WAL file(s) to archive: 000000080000000000000021", "P01 DETAIL: pushed WAL file 000000080000000000000021 to archive", "P00 INFO: archive-push command end: completed successfully" ] } }, { "key" : { "cmd" : [ "sudo lscpu" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "^CPU\\(s\\)\\:" ] }, "host" : "backup", "output" : true }, "type" : "exe", "value" : { "output" : [ "Architecture: x86_64", "CPU op-mode(s): 32-bit, 64-bit", "Byte Order: Little Endian", "CPU(s): 8", "On-line CPU(s) list: 0-7", "Thread(s) per core: 1", " [filtered 16 lines of output]" ] } }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo --type=full backup" ], "host" : "backup", "output" : false }, "type" : "exe" }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "backup", "option" : { "global" : { "process-max" : { "value" : "3" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db1-host=db-master", "db1-path=/var/lib/pgsql/9.4/data", "db1-user=postgres", "", "[global]", "process-max=3", "repo-path=/var/lib/pgbackrest", "retention-full=2", "start-fast=y" ] } }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo --type=full backup" ], "host" : "backup", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest info" ], "highlight" : { "filter" : false, "filter-context" : 2, "list" : [ "timestamp start/stop" ] }, "host" : "backup", "output" : true }, "type" : "exe", "value" : { "output" : [ "stanza: demo", " status: ok", " wal archive min/max: 000000080000000000000022 / 000000080000000000000023", "", " full backup: 20170214-002838F", " timestamp start/stop: 2017-02-14 00:28:30 / 2017-02-14 00:28:38", " wal start/stop: 000000080000000000000022 / 000000080000000000000022", " database size: 25.6MB, backup size: 25.6MB", " repository size: 3MB, repository backup size: 3MB", "", " full backup: 20170214-002845F", " timestamp start/stop: 2017-02-14 00:28:39 / 2017-02-14 00:28:45", " wal start/stop: 000000080000000000000023 / 000000080000000000000023", " database size: 25.6MB, backup size: 25.6MB", " repository size: 3MB, repository backup size: 3MB" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo backup" ], "err-expect" : "137", "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "remote process terminated on [^ ]+ host: stop file exists for all stanzas" ] }, "host" : "backup", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 ERROR: [137]: remote process terminated on db-master host: stop file exists for all stanzas" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest stop" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 WARN: stop file already exists for all stanzas" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo backup" ], "err-expect" : "137", "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "remote process terminated on [^ ]+ host: stop file exists for stanza demo" ] }, "host" : "backup", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 ERROR: [137]: remote process terminated on db-master host: stop file exists for stanza demo" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "image" : "pgbackrest/vagrant/co6-db-9.4-doc-pre", "mount" : "/backrest:/backrest", "name" : "db-standby", "os" : "co6", "user" : "vagrant" }, "type" : "host", "value" : { "ip" : "172.17.0.4" } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-standby", "option" : { "demo" : { "db-path" : { "value" : "/var/lib/pgsql/9.4/data" }, "recovery-option" : { "value" : "standby_mode=on" } }, "global" : { "backup-host" : { "value" : "backup" }, "log-level-stderr" : { "value" : "off" }, "log-timestamp" : { "value" : "n" }, "repo-path" : { "value" : "/var/lib/pgbackrest" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/pgsql/9.4/data", "recovery-option=standby_mode=on", "", "[global]", "backup-host=backup", "repo-path=/var/lib/pgbackrest" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --delta restore" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres cat /var/lib/pgsql/9.4/data/recovery.conf" ], "host" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ "standby_mode = 'on'", "restore_command = '/usr/bin/pgbackrest --stanza=demo archive-get %f \"%p\"'" ] } }, { "key" : { "file" : "/var/lib/pgsql/9.4/data/postgresql.conf", "host" : "db-standby", "option" : { "hot_standby" : { "value" : "on" } } }, "type" : "cfg-postgresql", "value" : { "config" : [ "hot_standby = on" ] } }, { "key" : { "cmd" : [ "sudo rm /var/lib/pgsql/9.4/data/pg_log/postgresql.log" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 start" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres cat /var/lib/pgsql/9.4/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" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ "LOG: database system was interrupted; last known up at 2017-02-14 00:28:40 UTC", "LOG: creating missing WAL directory \"pg_xlog/archive_status\"", "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/230000F0", "LOG: database system is ready to accept read only connections" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " message ", "----------------", " Important Data", "(1 row)" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"select * from replicated_table;\"" ], "err-expect" : "1", "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "does not exist" ] }, "host" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ "ERROR: relation \"replicated_table\" does not exist", "LINE 1: select * from replicated_table;", " ^" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"select *, current_timestamp from pg_switch_xlog()\";" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " pg_switch_xlog | now ", "----------------+-------------------------------", " 0/24017990 | 2017-02-14 00:29:19.062487+00", "(1 row)" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \" \\", " select *, current_timestamp from replicated_table\"" ], "highlight" : { "filter" : false, "filter-context" : 2, "list" : [ "Important Data" ] }, "host" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ " message | now ", "----------------+-------------------------------", " Important Data | 2017-02-14 00:29:22.294575+00", "(1 row)" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info check" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "all other checks passed" ] }, "host" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: check command begin 1.15: --backup-host=backup --db-path=/var/lib/pgsql/9.4/data --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --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" : { "cmd" : [ "sudo -u postgres psql -c \" \\", " create user replicator password 'jw8s0F4' replication\";" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "CREATE ROLE" ] } }, { "key" : { "cmd" : [ "sudo -u postgres sh -c 'echo \\", " \"host replication replicator 172.17.0.4/32 md5\" \\", " >> /var/lib/pgsql/9.4/data/pg_hba.conf'" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 reload" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-standby", "option" : { "demo" : { "recovery-option" : { "value" : "primary_conninfo=host=172.17.0.2 port=5432 user=replicator" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/pgsql/9.4/data", "recovery-option=standby_mode=on", "recovery-option=primary_conninfo=host=172.17.0.2 port=5432 user=replicator", "", "[global]", "backup-host=backup", "repo-path=/var/lib/pgbackrest" ] } }, { "key" : { "cmd" : [ "sudo -u postgres sh -c 'echo \\", " \"172.17.0.2:*:replication:replicator:jw8s0F4\" \\", " >> /home/postgres/.pgpass'" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres chmod 600 /home/postgres/.pgpass" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 stop" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --delta restore" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres cat /var/lib/pgsql/9.4/data/recovery.conf" ], "host" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ "primary_conninfo = 'host=172.17.0.2 port=5432 user=replicator'", "standby_mode = 'on'", "restore_command = '/usr/bin/pgbackrest --stanza=demo archive-get %f \"%p\"'" ] } }, { "key" : { "file" : "/var/lib/pgsql/9.4/data/postgresql.conf", "host" : "db-standby", "option" : { "hot_standby" : { "value" : "on" } } }, "type" : "cfg-postgresql", "value" : { "config" : [ "hot_standby = on" ] } }, { "key" : { "cmd" : [ "sudo rm /var/lib/pgsql/9.4/data/pg_log/postgresql.log" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo service postgresql-9.4 start" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres cat /var/lib/pgsql/9.4/data/pg_log/postgresql.log" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "started streaming WAL from primary" ] }, "host" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 7 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" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " message | now ", "----------------+-------------------------------", " Important Data | 2017-02-14 00:29:32.045599+00", "(1 row)" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \" \\", " select *, current_timestamp from stream_table\"" ], "highlight" : { "filter" : false, "filter-context" : 2, "list" : [ "Important Data" ] }, "host" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ " message | now ", "----------------+------------------------------", " Important Data | 2017-02-14 00:29:32.33892+00", "(1 row)" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "backup", "option" : { "demo" : { "db2-host" : { "value" : "db-standby" }, "db2-path" : { "value" : "/var/lib/pgsql/9.4/data" }, "db2-user" : { "value" : "postgres" } }, "global" : { "backup-standby" : { "value" : "y" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db1-host=db-master", "db1-path=/var/lib/pgsql/9.4/data", "db1-user=postgres", "db2-host=db-standby", "db2-path=/var/lib/pgsql/9.4/data", "db2-user=postgres", "", "[global]", "backup-standby=y", "process-max=3", "repo-path=/var/lib/pgbackrest", "retention-full=2", "start-fast=y" ] } }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo --log-level-console=detail backup" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "backup file db-master|replay on the standby" ] }, "host" : "backup", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 2 lines of output]", "P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2017-02-14 00:29:33\": backup begins after the requested immediate checkpoint completes", "P00 INFO: backup start archive = 000000080000000000000026, lsn = 0/260000C8", "P00 INFO: wait for replay on the standby to reach 0/260000C8", "P00 INFO: replay on the standby reached 0/26000168", "P01 INFO: backup file db-master:/var/lib/pgsql/9.4/data/global/pg_control (8KB, 0%) checksum acfdd3d1db39bf617227775952cd865173712f81", "P01 INFO: backup file db-master:/var/lib/pgsql/9.4/data/pg_log/postgresql.log (4.7KB, 0%) checksum 900f93d96b51f50c28a96b6fe14b4689c5719523", "P02 INFO: backup file db-standby:/var/lib/pgsql/9.4/data/base/12140/12008 (392KB, 20%) checksum bd083fef24a28dcd4d882a4daedd197cd6ad9297", "P01 INFO: backup file db-master:/var/lib/pgsql/9.4/data/pg_hba.conf (4.1KB, 21%) checksum 58731e81ad21675e504278f39333f56620a52837", "P01 INFO: backup file db-master:/var/lib/pgsql/9.4/data/backup_label (238B, 21%) checksum 879d85f06fca05156b211d1bcec446ef40ac40c4", "P02 INFO: backup file db-standby:/var/lib/pgsql/9.4/data/base/12140/12011 (232KB, 32%) checksum 1c711305c0b047ee3eadfdba1164710eaa3bd3b6", "P02 INFO: backup file db-standby:/var/lib/pgsql/9.4/data/base/12140/11892 (128KB, 39%) checksum 8261031e1b86ef9b5932a1d0a3f623e444adb3c4", " [filtered 34 lines of output]" ] } } ] } }, "default" : { "all" : { "user-guide" : [ { "key" : { "image" : "pgbackrest/vagrant/u14-db-9.4-doc-pre", "mount" : "/backrest:/backrest", "name" : "db-master", "os" : "u14", "user" : "vagrant" }, "type" : "host", "value" : { "ip" : "172.17.0.2" } }, { "key" : { "cmd" : [ "sudo apt-get install libdbd-pg-perl" ], "cmd-extra" : "-y", "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm -f /usr/bin/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm -f /usr/bin/pg_backrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm -rf /usr/lib/perl5/BackRest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm -rf /usr/share/perl5/BackRest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm -rf /usr/lib/perl5/pgBackRest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm -rf /usr/share/perl5/pgBackRest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo cp -r ~/pgbackrest-release-1.15/lib/pgBackRest \\", " /usr/share/perl5" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo find /usr/share/perl5/pgBackRest -type f -exec chmod 644 {} +" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo find /usr/share/perl5/pgBackRest -type d -exec chmod 755 {} +" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo cp ~/pgbackrest-release-1.15/bin/pgbackrest /usr/bin/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo chmod 755 /usr/bin/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo mkdir -m 770 /var/log/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo chown postgres:postgres /var/log/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "pgBackRest 1.15 - 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.", " start Allow pgBackRest processes to run.", " stop Stop pgBackRest processes from running.", " version Get version.", "", "Use 'pgbackrest help [command]' for more information." ] } }, { "key" : { "cmd" : [ "sudo -u postgres /usr/lib/postgresql/9.4/bin/initdb \\", " -D /var/lib/postgresql/9.4/demo -k -A peer" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo pg_createcluster 9.4 demo" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "Configuring already existing cluster (configuration: /etc/postgresql/9.4/demo, data: /var/lib/postgresql/9.4/demo, owner: 5000:5000)", " socket /var/run/postgresql", " port 5432" ] } }, { "key" : { "file" : "/etc/postgresql/9.4/demo/postgresql.conf", "host" : "db-master", "option" : { "listen_addresses" : { "value" : "'*'" } } }, "type" : "cfg-postgresql", "value" : { "config" : [ "listen_addresses = '*'" ] } }, { "key" : { "file" : "/etc/postgresql/9.4/demo/postgresql.conf", "host" : "db-master", "option" : { "log_line_prefix" : { "value" : "''" } } }, "type" : "cfg-postgresql", "value" : { "config" : [ "listen_addresses = '*'", "log_line_prefix = ''" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "demo" : { "db-path" : { "value" : "/var/lib/postgresql/9.4/demo" } }, "global" : { "log-level-stderr" : { "value" : "off" }, "log-timestamp" : { "value" : "n" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/postgresql/9.4/demo" ] } }, { "key" : { "cmd" : [ "sudo mkdir /var/lib/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo chmod 750 /var/lib/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo chown postgres:postgres /var/lib/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "repo-path" : { "value" : "/var/lib/pgbackrest" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/postgresql/9.4/demo", "", "[global]", "repo-path=/var/lib/pgbackrest" ] } }, { "key" : { "file" : "/etc/postgresql/9.4/demo/postgresql.conf", "host" : "db-master", "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" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo restart" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "retention-full" : { "value" : "2" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/postgresql/9.4/demo", "", "[global]", "repo-path=/var/lib/pgbackrest", "retention-full=2" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-create" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "completed successfully" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: stanza-create command begin 1.15: --db-path=/var/lib/postgresql/9.4/demo --log-level-console=info --no-log-timestamp --repo-path=/var/lib/pgbackrest --stanza=demo", "P00 INFO: stanza-create command end: completed successfully" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: check command begin 1.15: --db-path=/var/lib/postgresql/9.4/demo --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-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-1f2a0bc192b873b17579654f3e4aefc1ca27b9be.gz'", "P00 INFO: check command end: completed successfully" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: backup command begin 1.15: --db-path=/var/lib/postgresql/9.4/demo --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --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 2017-02-14 00:30:04\": backup begins after the next regular checkpoint completes", "P00 INFO: backup start archive = 000000010000000000000002, lsn = 0/2000028", " [filtered 757 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.3MB", "P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive", "P00 INFO: backup stop archive = 000000010000000000000002, lsn = 0/20000F0", " [filtered 4 lines of output]" ] } }, { "key" : { "cmd" : [ "sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -4 | head -1" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "20170214-003009F" ] } }, { "key" : { "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" : "db-master", "output" : true }, "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 c9ec2b54a4a89faffb4a03bcd7982886c5d2c078", "P01 INFO: backup file /var/lib/postgresql/9.4/demo/backup_label (236B, 100%) checksum a42cf386d41d7220d5726dfbfebb9ea76151cdf2", "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" : { "cmd" : [ "sudo -u postgres pgbackrest info" ], "highlight" : { "filter" : false, "filter-context" : 2, "list" : [ "(full|incr|diff) backup" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "stanza: demo", " status: ok", " wal archive min/max: 000000010000000000000002 / 000000010000000000000003", "", " full backup: 20170214-003009F", " timestamp start/stop: 2017-02-14 00:30:04 / 2017-02-14 00:30:09", " wal start/stop: 000000010000000000000002 / 000000010000000000000002", " database size: 19.3MB, backup size: 19.3MB", " repository size: 2.2MB, repository backup size: 2.2MB", "", " diff backup: 20170214-003009F_20170214-003013D", " timestamp start/stop: 2017-02-14 00:30:09 / 2017-02-14 00:30:13", " wal start/stop: 000000010000000000000003 / 000000010000000000000003", " database size: 19.3MB, backup size: 8.2KB", " repository size: 2.2MB, repository backup size: 343B", " backup reference list: 20170214-003009F" ] } }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres rm /var/lib/postgresql/9.4/demo/global/pg_control" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "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" : "db-master", "output" : true }, "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" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres find /var/lib/postgresql/9.4/demo -mindepth 1 -delete" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo restore" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: backup command begin 1.15: --db-path=/var/lib/postgresql/9.4/demo --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-full=2 --stanza=demo --type=incr", "P00 INFO: last backup label = 20170214-003009F_20170214-003013D, version = 1.15", "P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2017-02-14 00:30:24\": backup begins after the next regular checkpoint completes", "P00 INFO: backup start archive = 000000020000000000000006, lsn = 0/6000028", "P01 INFO: backup file /var/lib/postgresql/9.4/demo/base/12139/pg_internal.init (115.2KB, 72%) checksum 3a3c57b2888ad0625d8e7693690db93286941fb9", " [filtered 13 lines of output]" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "start-fast" : { "value" : "y" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/postgresql/9.4/demo", "", "[global]", "repo-path=/var/lib/pgbackrest", "retention-full=2", "start-fast=y" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: backup command begin 1.15: --db-path=/var/lib/postgresql/9.4/demo --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-full=2 --stanza=demo --start-fast --type=incr", "P00 INFO: last backup label = 20170214-003009F_20170214-003027I, version = 1.15", "P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2017-02-14 00:30:28\": backup begins after the requested immediate checkpoint completes", "P00 INFO: backup start archive = 000000020000000000000007, lsn = 0/7000028", "P01 INFO: backup file /var/lib/postgresql/9.4/demo/global/pg_control (8KB, 97%) checksum 8c13b2a55fd628d4fb75c3672fe1bf697a871700", " [filtered 8 lines of output]" ] } }, { "key" : { "cmd" : [ "sudo chmod 550 /var/lib/pgbackrest/temp" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --type=incr \\", " --log-level-console=info backup" ], "err-expect" : "122", "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "ERROR:" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 2 lines of output]", "P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2017-02-14 00:30:31\": backup begins after the requested immediate checkpoint completes", "P00 INFO: backup start archive = 000000020000000000000008, lsn = 0/8000028", "P00 ERROR: [122]: unable to create /var/lib/pgbackrest/temp/demo.tmp: Permission denied", "P00 INFO: backup command end: aborted with exception [122]" ] } }, { "key" : { "cmd" : [ "sudo chmod 750 /var/lib/pgbackrest/temp" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --type=incr \\", " --log-level-console=info backup" ], "err-expect" : "132", "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "ERROR:" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: backup command begin 1.15: --db-path=/var/lib/postgresql/9.4/demo --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-full=2 --stanza=demo --start-fast --type=incr", "P00 INFO: last backup label = 20170214-003009F_20170214-003031I, version = 1.15", "P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2017-02-14 00:30:34\": backup begins after the requested immediate checkpoint completes", "P00 ERROR: [132]: 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 2017-02-14 00:30:34', true) as lsn" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "stop-auto" : { "value" : "y" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/postgresql/9.4/demo", "", "[global]", "repo-path=/var/lib/pgbackrest", "retention-full=2", "start-fast=y", "stop-auto=y" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: backup command begin 1.15: --db-path=/var/lib/postgresql/9.4/demo --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-full=2 --stanza=demo --start-fast --stop-auto --type=incr", "P00 INFO: last backup label = 20170214-003009F_20170214-003031I, version = 1.15", "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 2017-02-14 00:30:36\": backup begins after the requested immediate checkpoint completes", "P00 INFO: backup start archive = 000000020000000000000009, lsn = 0/9000028", "P01 INFO: backup file /var/lib/postgresql/9.4/demo/global/pg_control (8KB, 97%) checksum 742039722c0df980a1d5adc774e5573cd48d2c5c", " [filtered 8 lines of output]" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "retention-full" : { "value" : "2" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/postgresql/9.4/demo", "", "[global]", "repo-path=/var/lib/pgbackrest", "retention-full=2", "start-fast=y", "stop-auto=y" ] } }, { "key" : { "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 20170214-003009F|remove archive" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 766 lines of output]", "P00 INFO: backup command end: completed successfully", "P00 INFO: expire command begin 1.15: --log-level-console=detail --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-archive=2 --retention-full=2 --stanza=demo", "P00 DETAIL: archive retention on backup 20170214-003009F, start = 000000010000000000000002", "P00 DETAIL: no archive to remove", "P00 INFO: expire command end: completed successfully" ] } }, { "key" : { "cmd" : [ "sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -4 | head -1" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "20170214-003047F" ] } }, { "key" : { "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\\: 20170214-003009F|archive retention on backup 20170214-003047F|remove archive" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 766 lines of output]", "P00 INFO: backup command end: completed successfully", "P00 INFO: expire command begin 1.15: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-archive=2 --retention-full=2 --stanza=demo", "P00 INFO: expire full backup set: 20170214-003009F, 20170214-003009F_20170214-003013D, 20170214-003009F_20170214-003027I, 20170214-003009F_20170214-003031I, 20170214-003009F_20170214-003041I", "P00 INFO: remove expired backup 20170214-003009F_20170214-003041I", "P00 INFO: remove expired backup 20170214-003009F_20170214-003031I", " [filtered 3 lines of output]" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "retention-diff" : { "value" : "1" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/postgresql/9.4/demo", "", "[global]", "repo-path=/var/lib/pgbackrest", "retention-diff=1", "retention-full=2", "start-fast=y", "stop-auto=y" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --type=diff backup" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -4 | head -1" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "20170214-003053F_20170214-003057D" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --type=incr backup" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "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: 20170214-003053F_20170214-003057D" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 10 lines of output]", "P00 INFO: backup command end: completed successfully", "P00 INFO: expire command begin 1.15: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-archive=2 --retention-diff=1 --retention-full=2 --stanza=demo", "P00 INFO: expire diff backup set: 20170214-003053F_20170214-003057D, 20170214-003053F_20170214-003101I", "P00 INFO: remove expired backup 20170214-003053F_20170214-003101I", "P00 INFO: remove expired backup 20170214-003053F_20170214-003057D" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "retention-diff" : { "value" : "2" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/postgresql/9.4/demo", "", "[global]", "repo-path=/var/lib/pgbackrest", "retention-diff=2", "retention-full=2", "start-fast=y", "stop-auto=y" ] } }, { "key" : { "cmd" : [ "sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -4 | head -1" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "20170214-003053F_20170214-003105D" ] } }, { "key" : { "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" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 7 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 = 20170214-003053F_20170214-003109D", "P00 INFO: backup command end: completed successfully", "P00 INFO: expire command begin 1.15: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-archive=2 --retention-diff=2 --retention-full=2 --stanza=demo" ] } }, { "key" : { "cmd" : [ "sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -4 | head -1" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "20170214-003053F_20170214-003109D" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --log-level-console=detail \\", " --retention-archive-type=diff --retention-archive=1 expire" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "archive retention on backup 20170214-003053F_20170214-003105D|remove archive" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: expire command begin 1.15: --log-level-console=detail --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --retention-archive=1 --retention-archive-type=diff --retention-diff=2 --retention-full=2 --stanza=demo", "P00 DETAIL: archive retention on backup 20170214-003047F, start = 00000002000000000000000A, stop = 00000002000000000000000A", "P00 DETAIL: archive retention on backup 20170214-003053F, start = 00000002000000000000000B, stop = 00000002000000000000000B", "P00 DETAIL: archive retention on backup 20170214-003053F_20170214-003105D, start = 00000002000000000000000E, stop = 00000002000000000000000E", "P00 DETAIL: archive retention on backup 20170214-003053F_20170214-003109D, start = 000000020000000000000012", "P00 DETAIL: remove archive: start = 00000002000000000000000C, stop = 00000002000000000000000D", "P00 DETAIL: remove archive: start = 00000002000000000000000F, stop = 000000020000000000000011", "P00 INFO: expire command end: completed successfully" ] } }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 693 lines of output]", "P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/base/12134/PG_VERSION - exists and matches backup (4B, 99%) checksum 8dbabb96e032b8d9f1993c0e4b9141e71ade01a1", "P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/base/1/PG_VERSION - exists and matches backup (4B, 99%) checksum 8dbabb96e032b8d9f1993c0e4b9141e71ade01a1", "P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/PG_VERSION - exists and matches backup (4B, 100%) checksum 8dbabb96e032b8d9f1993c0e4b9141e71ade01a1", "P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/global/12086 - exists and is zero size (0B, 100%)", "P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/global/12038 - exists and is zero size (0B, 100%)", " [filtered 83 lines of output]", "P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/base/1/11885 - exists and is zero size (0B, 100%)", "P00 INFO: write /var/lib/postgresql/9.4/demo/recovery.conf", "P00 INFO: restore global/pg_control (copied last to ensure aborted restores cannot be started)", "P00 INFO: restore command end: completed successfully" ] } }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"create database test1;\"" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "CREATE DATABASE" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"create database test2;\"" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "CREATE DATABASE" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --type=incr backup" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"create table test1_table (id int); \\", " insert into test1_table (id) values (1);\" test1" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "INSERT 0 1" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"create table test2_table (id int); \\", " insert into test2_table (id) values (2);\" test2" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "INSERT 0 1" ] } }, { "key" : { "cmd" : [ "sudo -u postgres du -sh /var/lib/postgresql/9.4/demo/base/16384" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "6.4M\t/var/lib/postgresql/9.4/demo/base/16384" ] } }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --delta \\", " --db-include=test2 restore" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"select * from test2_table;\" test2" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " id ", "----", " 2", "(1 row)" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "psql: FATAL: relation mapping file \"base/16384/pg_filenode.map\" contains invalid data" ] } }, { "key" : { "cmd" : [ "sudo -u postgres du -sh /var/lib/postgresql/9.4/demo/base/16384" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "152K\t/var/lib/postgresql/9.4/demo/base/16384" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"drop database test1;\"" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "DROP DATABASE" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"select oid, datname from pg_database order by oid;\"" ], "highlight" : { "filter" : false, "filter-context" : 2, "list" : [ "test2" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " oid | datname ", "-------+-----------", " 1 | template1", " 12134 | template0", " 12139 | postgres", " 16385 | test2", "(4 rows)" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --type=diff backup" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " message ", "----------------", " Important Data", "(1 row)" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -Atc \"select current_timestamp\"" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "2017-02-14 00:31:36.446792+00" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "ERROR: relation \"important_table\" does not exist", "LINE 1: ...le important_table; commit; select * from important_...", " ^" ] } }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --delta \\", " --type=time \"--target=2017-02-14 00:31:36.446792+00\" restore" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm /var/log/postgresql/postgresql-9.4-demo.log" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres cat /var/lib/postgresql/9.4/demo/recovery.conf" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "recovery_target_time" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "restore_command = '/usr/bin/pgbackrest --stanza=demo archive-get %f \"%p\"'", "recovery_target_time = '2017-02-14 00:31:36.446792+00'" ] } }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"select * from important_table\"" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "Important Data" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " message ", "----------------", " Important Data", "(1 row)" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "LOG: database system was interrupted; last known up at 2017-02-14 00:31:33 UTC", "LOG: creating missing WAL directory \"pg_xlog/archive_status\"", "LOG: starting point-in-time recovery to 2017-02-14 00:31:36.446792+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 686, time 2017-02-14 00:31:36.564037+00", "LOG: redo done at 0/180157F0", "LOG: last completed transaction was at log time 2017-02-14 00:31:36.352787+00", "LOG: selected new timeline ID: 5", "LOG: restored log file \"00000004.history\" from archive", " [filtered 4 lines of output]" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "ERROR: relation \"important_table\" does not exist", "LINE 1: ...le important_table; commit; select * from important_...", " ^" ] } }, { "key" : { "cmd" : [ "sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -4 | head -1" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "20170214-003053F_20170214-003136D" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --type=incr backup" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --delta \\", " --type=time \"--target=2017-02-14 00:31:36.446792+00\" restore" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm /var/log/postgresql/postgresql-9.4-demo.log" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"select * from important_table\"" ], "err-expect" : "1", "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "does not exist" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "ERROR: relation \"important_table\" does not exist", "LINE 1: select * from important_table", " ^" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "LOG: database system was interrupted; last known up at 2017-02-14 00:31:45 UTC", "LOG: creating missing WAL directory \"pg_xlog/archive_status\"", "LOG: starting point-in-time recovery to 2017-02-14 00:31:36.446792+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" : { "cmd" : [ "sudo -u postgres pgbackrest info" ], "highlight" : { "filter" : false, "filter-context" : 2, "list" : [ "20170214-003053F_20170214-003136D" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "stanza: demo", " status: ok", " wal archive min/max: 00000002000000000000000A / 000000050000000000000019", "", " full backup: 20170214-003047F", " timestamp start/stop: 2017-02-14 00:30:42 / 2017-02-14 00:30:47", " wal start/stop: 00000002000000000000000A / 00000002000000000000000A", " database size: 19.3MB, backup size: 19.3MB", " repository size: 2.2MB, repository backup size: 2.2MB", "", " full backup: 20170214-003053F", " timestamp start/stop: 2017-02-14 00:30:47 / 2017-02-14 00:30:53", " wal start/stop: 00000002000000000000000B / 00000002000000000000000B", " database size: 19.3MB, backup size: 19.3MB", " repository size: 2.2MB, repository backup size: 2.2MB", "", " diff backup: 20170214-003053F_20170214-003109D", " timestamp start/stop: 2017-02-14 00:31:06 / 2017-02-14 00:31:09", " wal start/stop: 000000020000000000000012 / 000000020000000000000012", " database size: 19.3MB, backup size: 8.2KB", " repository size: 2.2MB, repository backup size: 348B", " backup reference list: 20170214-003053F", "", " incr backup: 20170214-003053F_20170214-003122I", " timestamp start/stop: 2017-02-14 00:31:18 / 2017-02-14 00:31:22", " wal start/stop: 000000030000000000000014 / 000000030000000000000014", " database size: 31.8MB, backup size: 12.7MB", " repository size: 3.7MB, repository backup size: 1.5MB", " backup reference list: 20170214-003053F", "", " diff backup: 20170214-003053F_20170214-003136D", " timestamp start/stop: 2017-02-14 00:31:32 / 2017-02-14 00:31:36", " wal start/stop: 000000040000000000000017 / 000000040000000000000017", " database size: 25.7MB, backup size: 6.5MB", " repository size: 3MB, repository backup size: 793.1KB", " backup reference list: 20170214-003053F", "", " incr backup: 20170214-003053F_20170214-003147I", " timestamp start/stop: 2017-02-14 00:31:44 / 2017-02-14 00:31:47", " wal start/stop: 000000050000000000000019 / 000000050000000000000019", " database size: 25.6MB, backup size: 1.9MB", " repository size: 3MB, repository backup size: 215.3KB", " backup reference list: 20170214-003053F, 20170214-003053F_20170214-003136D" ] } }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --delta \\", " --type=time \"--target=2017-02-14 00:31:36.446792+00\" \\", " --set=20170214-003053F_20170214-003136D restore" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo rm /var/log/postgresql/postgresql-9.4-demo.log" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"select * from important_table\"" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "Important Data" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " message ", "----------------", " Important Data", "(1 row)" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "LOG: database system was interrupted; last known up at 2017-02-14 00:31:33 UTC", "LOG: creating missing WAL directory \"pg_xlog/archive_status\"", "LOG: starting point-in-time recovery to 2017-02-14 00:31:36.446792+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 686, time 2017-02-14 00:31:36.564037+00", "LOG: redo done at 0/180157F0", "LOG: last completed transaction was at log time 2017-02-14 00:31:36.352787+00", "LOG: restored log file \"00000005.history\" from archive", "LOG: restored log file \"00000006.history\" from archive", " [filtered 7 lines of output]" ] } }, { "key" : { "image" : "pgbackrest/vagrant/u14-backup-doc-pre", "mount" : "/backrest:/backrest", "name" : "backup", "os" : "u14", "user" : "vagrant" }, "type" : "host", "value" : { "ip" : "172.17.0.3" } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "backup", "option" : { "global" : { "repo-path" : { "value" : "/var/lib/pgbackrest" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[global]", "repo-path=/var/lib/pgbackrest" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "backup", "option" : { "demo" : { "db1-host" : { "value" : "db-master" }, "db1-path" : { "value" : "/var/lib/postgresql/9.4/demo" }, "db1-user" : { "value" : "postgres" } }, "global" : { "log-level-stderr" : { "value" : "off" }, "log-timestamp" : { "value" : "n" }, "retention-full" : { "value" : "2" }, "start-fast" : { "value" : "y" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db1-host=db-master", "db1-path=/var/lib/postgresql/9.4/demo", "db1-user=postgres", "", "[global]", "repo-path=/var/lib/pgbackrest", "retention-full=2", "start-fast=y" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "demo" : { "db-path" : { "value" : "/var/lib/postgresql/9.4/demo" } }, "global" : { "backup-host" : { "value" : "backup" }, "backup-user" : { "value" : "backrest" }, "log-level-file" : { "value" : "detail" }, "log-level-stderr" : { "value" : "off" }, "log-timestamp" : { "value" : "n" }, "repo-path" : { "value" : "/var/lib/pgbackrest" } } }, "reset" : true }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/postgresql/9.4/demo", "", "[global]", "backup-host=backup", "backup-user=backrest", "log-level-file=detail", "repo-path=/var/lib/pgbackrest" ] } }, { "key" : { "cmd" : [ "sudo find /var/lib/pgbackrest -delete" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo stanza-create" ], "host" : "backup", "output" : true }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo check" ], "host" : "db-master", "output" : true }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo check" ], "host" : "backup", "output" : true }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo backup" ], "host" : "backup", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 WARN: no prior backup exists, incr backup has been changed to full" ] } }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --delta restore" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo backup" ], "host" : "backup", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo mkdir -m 750 /var/spool/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo chown postgres:postgres /var/spool/pgbackrest" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-master", "option" : { "global" : { "archive-async" : { "value" : "y" }, "spool-path" : { "value" : "/var/spool/pgbackrest" } }, "global:archive-push" : { "process-max" : { "value" : "2" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/postgresql/9.4/demo", "", "[global]", "archive-async=y", "backup-host=backup", "backup-user=backrest", "log-level-file=detail", "repo-path=/var/lib/pgbackrest", "spool-path=/var/spool/pgbackrest", "", "[global:archive-push]", "process-max=2" ] } }, { "key" : { "cmd" : [ "sudo -u postgres rm -f /var/log/pgbackrest/demo-archive-async.log" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "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" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info check" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "WAL segment" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: check command begin 1.15: --backup-host=backup --backup-user=backrest --db-path=/var/lib/postgresql/9.4/demo --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --stanza=demo", "P00 INFO: WAL segment 000000080000000000000022 successfully stored in the archive at '/var/lib/pgbackrest/archive/demo/9.4-1/0000000800000000/000000080000000000000022-09811d08dac0e0802657e5456abc0092e7a61d98.gz'", "P00 INFO: check command end: completed successfully" ] } }, { "key" : { "cmd" : [ "sudo -u postgres cat /var/log/pgbackrest/demo-archive-async.log" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ " WAL file\\(s\\) to archive|pushed WAL file 0000000" ] }, "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "-------------------PROCESS START-------------------", "P00 INFO: archive-push command begin 1.15: --archive-async --backup-host=backup --backup-user=backrest --db-path=/var/lib/postgresql/9.4/demo --log-level-file=detail --log-level-stderr=off --no-log-timestamp --process-max=2 --repo-path=/var/lib/pgbackrest --spool-path=/var/spool/pgbackrest --stanza=demo", "P00 INFO: push 4 WAL file(s) to archive: 00000008000000000000001D...000000080000000000000020", "P01 DETAIL: pushed WAL file 00000008000000000000001D to archive", "P02 DETAIL: pushed WAL file 00000008000000000000001E to archive", "P01 DETAIL: pushed WAL file 00000008000000000000001F to archive", "P02 DETAIL: pushed WAL file 000000080000000000000020 to archive", "P00 INFO: archive-push command end: completed successfully", "", "-------------------PROCESS START-------------------", "P00 INFO: archive-push command begin 1.15: --archive-async --backup-host=backup --backup-user=backrest --db-path=/var/lib/postgresql/9.4/demo --log-level-file=detail --log-level-stderr=off --no-log-timestamp --process-max=2 --repo-path=/var/lib/pgbackrest --spool-path=/var/spool/pgbackrest --stanza=demo", "P00 INFO: push 1 WAL file(s) to archive: 000000080000000000000021", "P01 DETAIL: pushed WAL file 000000080000000000000021 to archive", "P00 INFO: archive-push command end: completed successfully", "", "-------------------PROCESS START-------------------", "P00 INFO: archive-push command begin 1.15: --archive-async --backup-host=backup --backup-user=backrest --db-path=/var/lib/postgresql/9.4/demo --log-level-file=detail --log-level-stderr=off --no-log-timestamp --process-max=2 --repo-path=/var/lib/pgbackrest --spool-path=/var/spool/pgbackrest --stanza=demo", "P00 INFO: push 1 WAL file(s) to archive: 000000080000000000000022", "P01 DETAIL: pushed WAL file 000000080000000000000022 to archive", "P00 INFO: archive-push command end: completed successfully" ] } }, { "key" : { "cmd" : [ "sudo lscpu" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "^CPU\\(s\\)\\:" ] }, "host" : "backup", "output" : true }, "type" : "exe", "value" : { "output" : [ "Architecture: x86_64", "CPU op-mode(s): 32-bit, 64-bit", "Byte Order: Little Endian", "CPU(s): 8", "On-line CPU(s) list: 0-7", "Thread(s) per core: 1", " [filtered 15 lines of output]" ] } }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo --type=full backup" ], "host" : "backup", "output" : false }, "type" : "exe" }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "backup", "option" : { "global" : { "process-max" : { "value" : "3" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db1-host=db-master", "db1-path=/var/lib/postgresql/9.4/demo", "db1-user=postgres", "", "[global]", "process-max=3", "repo-path=/var/lib/pgbackrest", "retention-full=2", "start-fast=y" ] } }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo --type=full backup" ], "host" : "backup", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest info" ], "highlight" : { "filter" : false, "filter-context" : 2, "list" : [ "timestamp start/stop" ] }, "host" : "backup", "output" : true }, "type" : "exe", "value" : { "output" : [ "stanza: demo", " status: ok", " wal archive min/max: 000000080000000000000023 / 000000080000000000000024", "", " full backup: 20170214-003242F", " timestamp start/stop: 2017-02-14 00:32:34 / 2017-02-14 00:32:42", " wal start/stop: 000000080000000000000023 / 000000080000000000000023", " database size: 25.6MB, backup size: 25.6MB", " repository size: 3MB, repository backup size: 3MB", "", " full backup: 20170214-003248F", " timestamp start/stop: 2017-02-14 00:32:42 / 2017-02-14 00:32:48", " wal start/stop: 000000080000000000000024 / 000000080000000000000024", " database size: 25.6MB, backup size: 25.6MB", " repository size: 3MB, repository backup size: 3MB" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo backup" ], "err-expect" : "137", "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "remote process terminated on [^ ]+ host: stop file exists for all stanzas" ] }, "host" : "backup", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 ERROR: [137]: remote process terminated on db-master host: stop file exists for all stanzas" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest stop" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 WARN: stop file already exists for all stanzas" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo stop" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo backup" ], "err-expect" : "137", "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "remote process terminated on [^ ]+ host: stop file exists for stanza demo" ] }, "host" : "backup", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 ERROR: [137]: remote process terminated on db-master host: stop file exists for stanza demo" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo start" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "image" : "pgbackrest/vagrant/u14-db-9.4-doc-pre", "mount" : "/backrest:/backrest", "name" : "db-standby", "os" : "u14", "user" : "vagrant" }, "type" : "host", "value" : { "ip" : "172.17.0.4" } }, { "key" : { "file" : "/etc/postgresql/9.4/demo/postgresql.conf", "host" : "db-standby", "option" : { "log_filename" : { "value" : "'postgresql.log'" }, "log_line_prefix" : { "value" : "''" } } }, "type" : "cfg-postgresql", "value" : { "config" : [ "log_filename = 'postgresql.log'", "log_line_prefix = ''" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-standby", "option" : { "demo" : { "db-path" : { "value" : "/var/lib/postgresql/9.4/demo" }, "recovery-option" : { "value" : "standby_mode=on" } }, "global" : { "backup-host" : { "value" : "backup" }, "log-level-stderr" : { "value" : "off" }, "log-timestamp" : { "value" : "n" }, "repo-path" : { "value" : "/var/lib/pgbackrest" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/postgresql/9.4/demo", "recovery-option=standby_mode=on", "", "[global]", "backup-host=backup", "repo-path=/var/lib/pgbackrest" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --delta restore" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres cat /var/lib/postgresql/9.4/demo/recovery.conf" ], "host" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ "standby_mode = 'on'", "restore_command = '/usr/bin/pgbackrest --stanza=demo archive-get %f \"%p\"'" ] } }, { "key" : { "file" : "/etc/postgresql/9.4/demo/postgresql.conf", "host" : "db-standby", "option" : { "hot_standby" : { "value" : "on" } } }, "type" : "cfg-postgresql", "value" : { "config" : [ "hot_standby = on", "log_filename = 'postgresql.log'", "log_line_prefix = ''" ] } }, { "key" : { "cmd" : [ "sudo rm /var/log/postgresql/postgresql-9.4-demo.log" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo start" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "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" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ "LOG: database system was interrupted; last known up at 2017-02-14 00:32:43 UTC", "LOG: creating missing WAL directory \"pg_xlog/archive_status\"", "LOG: entering standby mode", "LOG: restored log file \"00000008.history\" from archive", "LOG: incomplete startup packet", "LOG: restored log file \"000000080000000000000024\" from archive", "LOG: redo starts at 0/24000028", "LOG: consistent recovery state reached at 0/240000F0", "LOG: database system is ready to accept read only connections" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " message ", "----------------", " Important Data", "(1 row)" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"select * from replicated_table;\"" ], "err-expect" : "1", "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "does not exist" ] }, "host" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ "ERROR: relation \"replicated_table\" does not exist", "LINE 1: select * from replicated_table;", " ^" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \"select *, current_timestamp from pg_switch_xlog()\";" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " pg_switch_xlog | now ", "----------------+-------------------------------", " 0/250199A8 | 2017-02-14 00:33:07.194815+00", "(1 row)" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \" \\", " select *, current_timestamp from replicated_table\"" ], "highlight" : { "filter" : false, "filter-context" : 2, "list" : [ "Important Data" ] }, "host" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ " message | now ", "----------------+-------------------------------", " Important Data | 2017-02-14 00:33:10.173437+00", "(1 row)" ] } }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --log-level-console=info check" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "all other checks passed" ] }, "host" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ "P00 INFO: check command begin 1.15: --backup-host=backup --db-path=/var/lib/postgresql/9.4/demo --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo-path=/var/lib/pgbackrest --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" : { "cmd" : [ "sudo -u postgres psql -c \" \\", " create user replicator password 'jw8s0F4' replication\";" ], "host" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ "CREATE ROLE" ] } }, { "key" : { "cmd" : [ "sudo -u postgres sh -c 'echo \\", " \"host replication replicator 172.17.0.4/32 md5\" \\", " >> /etc/postgresql/9.4/demo/pg_hba.conf'" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo reload" ], "host" : "db-master", "output" : false }, "type" : "exe" }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "db-standby", "option" : { "demo" : { "recovery-option" : { "value" : "primary_conninfo=host=172.17.0.2 port=5432 user=replicator" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db-path=/var/lib/postgresql/9.4/demo", "recovery-option=standby_mode=on", "recovery-option=primary_conninfo=host=172.17.0.2 port=5432 user=replicator", "", "[global]", "backup-host=backup", "repo-path=/var/lib/pgbackrest" ] } }, { "key" : { "cmd" : [ "sudo -u postgres sh -c 'echo \\", " \"172.17.0.2:*:replication:replicator:jw8s0F4\" \\", " >> /home/postgres/.pgpass'" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres chmod 600 /home/postgres/.pgpass" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo stop" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres pgbackrest --stanza=demo --delta restore" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres cat /var/lib/postgresql/9.4/demo/recovery.conf" ], "host" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ "primary_conninfo = 'host=172.17.0.2 port=5432 user=replicator'", "standby_mode = 'on'", "restore_command = '/usr/bin/pgbackrest --stanza=demo archive-get %f \"%p\"'" ] } }, { "key" : { "cmd" : [ "sudo rm /var/log/postgresql/postgresql-9.4-demo.log" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo pg_ctlcluster 9.4 demo start" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "cmd" : [ "sudo -u postgres sleep 1" ], "host" : "db-standby", "output" : false }, "type" : "exe" }, { "key" : { "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" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 8 lines of output]", "LOG: database system is ready to accept read only connections", "LOG: restored log file \"000000080000000000000025\" from archive", "LOG: started streaming WAL from primary at 0/26000000 on timeline 8" ] } }, { "key" : { "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" : "db-master", "output" : true }, "type" : "exe", "value" : { "output" : [ " message | now ", "----------------+-------------------------------", " Important Data | 2017-02-14 00:33:18.896599+00", "(1 row)" ] } }, { "key" : { "cmd" : [ "sudo -u postgres psql -c \" \\", " select *, current_timestamp from stream_table\"" ], "highlight" : { "filter" : false, "filter-context" : 2, "list" : [ "Important Data" ] }, "host" : "db-standby", "output" : true }, "type" : "exe", "value" : { "output" : [ " message | now ", "----------------+-------------------------------", " Important Data | 2017-02-14 00:33:19.075055+00", "(1 row)" ] } }, { "key" : { "file" : "/etc/pgbackrest.conf", "host" : "backup", "option" : { "demo" : { "db2-host" : { "value" : "db-standby" }, "db2-path" : { "value" : "/var/lib/postgresql/9.4/demo" }, "db2-user" : { "value" : "postgres" } }, "global" : { "backup-standby" : { "value" : "y" } } } }, "type" : "cfg-pgbackrest", "value" : { "config" : [ "[demo]", "db1-host=db-master", "db1-path=/var/lib/postgresql/9.4/demo", "db1-user=postgres", "db2-host=db-standby", "db2-path=/var/lib/postgresql/9.4/demo", "db2-user=postgres", "", "[global]", "backup-standby=y", "process-max=3", "repo-path=/var/lib/pgbackrest", "retention-full=2", "start-fast=y" ] } }, { "key" : { "cmd" : [ "sudo -u backrest pgbackrest --stanza=demo --log-level-console=detail backup" ], "highlight" : { "filter" : true, "filter-context" : 2, "list" : [ "backup file db-master|replay on the standby" ] }, "host" : "backup", "output" : true }, "type" : "exe", "value" : { "output" : [ " [filtered 2 lines of output]", "P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2017-02-14 00:33:19\": backup begins after the requested immediate checkpoint completes", "P00 INFO: backup start archive = 000000080000000000000027, lsn = 0/270000C8", "P00 INFO: wait for replay on the standby to reach 0/270000C8", "P00 INFO: replay on the standby reached 0/27000168", "P01 INFO: backup file db-master:/var/lib/postgresql/9.4/demo/global/pg_control (8KB, 0%) checksum 1d684a036e571d2e7a115b7f438bfb0e8470a3de", "P02 INFO: backup file db-standby:/var/lib/postgresql/9.4/demo/base/12139/12007 (392KB, 20%) checksum 2d3a9df94fb18d72038ed2d8a7f465d816c4e59c", "P01 INFO: backup file db-master:/var/lib/postgresql/9.4/demo/backup_label (238B, 20%) checksum 3efc1ed87740478d7f0c14ede95d8ea5426f4c70", "P03 INFO: backup file db-standby:/var/lib/postgresql/9.4/demo/base/12139/11889 (344KB, 38%) checksum 746906f61a4128e9c5b6373476892fea178a01fc", "P02 INFO: backup file db-standby:/var/lib/postgresql/9.4/demo/base/12139/12010 (232KB, 50%) checksum d02caae1bf04ceb029e60f1af76ada13c1bc74db", " [filtered 34 lines of output]" ] } } ] } } }