1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2024-12-14 10:13:05 +02:00
pgbackrest/doc/resource/exe.cache

9357 lines
343 KiB
Plaintext
Raw Normal View History

{
"co6" : {
"all" : {
"user-guide" : [
{
"key" : {
"id" : "s3",
"image" : "pgbackrest/test:co6-s3-server",
"name" : "s3-server",
"os" : "co6"
},
"type" : "host",
"value" : {
"ip" : "172.17.0.2"
}
},
{
"key" : {
"id" : "pg1",
"image" : "pgbackrest/test:co6-base",
"name" : "pg-primary",
"os" : "co6"
},
"type" : "host",
"value" : {
"ip" : "172.17.0.3"
}
},
{
"key" : {
"cmd" : [
"sudo rm -f /usr/bin/pgbackrest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm -f /usr/bin/pg_backrest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm -rf /usr/lib/perl5/BackRest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm -rf /usr/share/perl5/BackRest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm -rf /usr/lib/perl5/pgBackRest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm -rf /usr/share/perl5/pgBackRest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"sudo yum install perl perl-Time-HiRes perl-parent perl-JSON \\",
" perl-Digest-SHA perl-DBD-Pg perl-XML-LibXML perl-IO-Socket-SSL"
],
"cmd-extra" : "-y 2>&1",
"host" : "pg-primary",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo mkdir /root/pgbackrest-release-2.01"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
],
"host" : "pg-primary",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/build /root/pgbackrest-release-2.01"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
],
"host" : "pg-primary",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/lib /root/pgbackrest-release-2.01"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
],
"host" : "pg-primary",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/libc /root/pgbackrest-release-2.01"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
],
"host" : "pg-primary",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/src /root/pgbackrest-release-2.01"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
],
"host" : "pg-primary",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /root/pgbackrest-release-2.01/lib/pgBackRest \\",
" /usr/share/perl5"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo find /usr/share/perl5/pgBackRest -type f -exec chmod 644 {} +"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo find /usr/share/perl5/pgBackRest -type d -exec chmod 755 {} +"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo mkdir -m 770 /var/log/pgbackrest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown postgres:postgres /var/log/pgbackrest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo touch /etc/pgbackrest.conf"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chmod 640 /etc/pgbackrest.conf"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown postgres:postgres /etc/pgbackrest.conf"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo sh -c 'cd /root/pgbackrest-release-2.01/libc && \\",
" perl Makefile.PL INSTALLMAN1DIR=none INSTALLMAN3DIR=none'"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/libc test"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/libc install"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/src"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/src install"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"pgBackRest 2.01 - General help",
"",
"Usage:",
" pgbackrest [options] [command]",
"",
"Commands:",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
" archive-get Get a WAL segment from the archive.",
" archive-push Push a WAL segment to the archive.",
" backup Backup a database cluster.",
" check Check the configuration.",
" expire Expire backups that exceed retention.",
" help Get help.",
" info Retrieve information about backups.",
" restore Restore a database cluster.",
" stanza-create Create the required stanza data.",
" stanza-delete Delete a stanza.",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
" stanza-upgrade Upgrade a stanza.",
" start Allow pgBackRest processes to run.",
" stop Stop pgBackRest processes from running.",
" version Get version.",
"",
"Use 'pgbackrest help [command]' for more information."
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres /usr/pgsql-9.5/bin/initdb \\",
" -D /var/lib/pgsql/9.5/data -k -A peer"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"listen_addresses" : {
"value" : "'*'"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"log_line_prefix" : {
"value" : "''"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'",
"log_line_prefix = ''"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"log_filename" : {
"value" : "'postgresql.log'"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'",
"log_filename = 'postgresql.log'",
"log_line_prefix = ''"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/pgsql/9.5/data"
}
v1.09: 9.6 Support, Configurability, and Bug Fixes Bug Fixes: * Fixed the check command to prevent an error message from being logged if the backup directory does not exist. (Fixed by Cynthia Shang.) * Fixed error message to properly display the archive command when an invalid archive command is detected. (Reported by Jason O'Donnell.) * Fixed an issue where the async archiver would not be started if archive-push did not have enough space to queue a new WAL segment. This meant that the queue would never be cleared without manual intervention (such as calling archive-push directly). PostgreSQL now receives errors when there is not enough space to store new WAL segments but the async process will still be started so that space is eventually freed. (Reported by Jens Wilke.) * Fixed a remote timeout that occurred when a local process generated checksums (during resume or restore) but did not copy files, allowing the remote to go idle. (Reported by Jens Wilke.) Features: * Non-exclusive backups will automatically be used on PostgreSQL 9.6. * Added the cmd-ssh option to allow the ssh client to be specified. (Suggested by Jens Wilke.) * Added the log-level-stderr option to control whether console log messages are sent to stderr or stdout. By default this is set to warn which represents a change in behavior from previous versions, even though it may be more intuitive. Setting log-level-stderr=off will preserve the old behavior. (Suggested by Sascha Biberhofer.) * Set application_name to "pgBackRest [command]" for database connections. (Suggested by Jens Wilke.) * Check that archive_mode is enabled when archive-check option enabled. Refactoring: * Clarified error message when unable to acquire pgBackRest advisory lock to make it clear that it is not a PostgreSQL backup lock. (Suggested by Jens Wilke.) * pgBackRest version number included in command start INFO log output. * Process ID logged for local process start/stop INFO log output.
2016-10-10 23:35:58 +02:00
},
"global" : {
"log-level-stderr" : {
"value" : "off"
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
},
"log-timestamp" : {
"value" : "n"
v1.09: 9.6 Support, Configurability, and Bug Fixes Bug Fixes: * Fixed the check command to prevent an error message from being logged if the backup directory does not exist. (Fixed by Cynthia Shang.) * Fixed error message to properly display the archive command when an invalid archive command is detected. (Reported by Jason O'Donnell.) * Fixed an issue where the async archiver would not be started if archive-push did not have enough space to queue a new WAL segment. This meant that the queue would never be cleared without manual intervention (such as calling archive-push directly). PostgreSQL now receives errors when there is not enough space to store new WAL segments but the async process will still be started so that space is eventually freed. (Reported by Jens Wilke.) * Fixed a remote timeout that occurred when a local process generated checksums (during resume or restore) but did not copy files, allowing the remote to go idle. (Reported by Jens Wilke.) Features: * Non-exclusive backups will automatically be used on PostgreSQL 9.6. * Added the cmd-ssh option to allow the ssh client to be specified. (Suggested by Jens Wilke.) * Added the log-level-stderr option to control whether console log messages are sent to stderr or stdout. By default this is set to warn which represents a change in behavior from previous versions, even though it may be more intuitive. Setting log-level-stderr=off will preserve the old behavior. (Suggested by Sascha Biberhofer.) * Set application_name to "pgBackRest [command]" for database connections. (Suggested by Jens Wilke.) * Check that archive_mode is enabled when archive-check option enabled. Refactoring: * Clarified error message when unable to acquire pgBackRest advisory lock to make it clear that it is not a PostgreSQL backup lock. (Suggested by Jens Wilke.) * pgBackRest version number included in command start INFO log output. * Process ID logged for local process start/stop INFO log output.
2016-10-10 23:35:58 +02:00
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data"
]
}
},
{
"key" : {
"cmd" : [
"sudo mkdir /var/lib/pgbackrest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chmod 750 /var/lib/pgbackrest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown postgres:postgres /var/lib/pgbackrest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-path" : {
"value" : "/var/lib/pgbackrest"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"repo1-path=/var/lib/pgbackrest"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/data/postgresql.conf",
"host" : "pg-primary",
"option" : {
"archive_command" : {
"value" : "'pgbackrest --stanza=demo archive-push %p'"
},
"archive_mode" : {
"value" : "on"
},
"max_wal_senders" : {
"value" : "3"
},
"wal_level" : {
"value" : "hot_standby"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"archive_command = 'pgbackrest --stanza=demo archive-push %p'",
"archive_mode = on",
"listen_addresses = '*'",
"log_filename = 'postgresql.log'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"wal_level = hot_standby"
]
}
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 restart"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"option" : {
"global" : {
"repo1-retention-full" : {
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"value" : "2"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"",
"[global]",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2"
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-cipher-pass" : {
"value" : "zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO"
},
"repo1-cipher-type" : {
"value" : "aes-256-cbc"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-create"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"completed successfully"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: stanza-create command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"P00 INFO: stanza-create command end: completed successfully"
]
}
},
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
{
"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" : "pg-primary",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: check command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
"P00 INFO: WAL segment 000000010000000000000001 successfully stored in the archive at '/var/lib/pgbackrest/archive/demo/9.5-1/0000000100000000/000000010000000000000001-365637d48d5940b3d34658957cc949b77cf38030.gz'",
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"P00 INFO: check command end: completed successfully"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
]
}
},
{
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo",
"P00 WARN: no prior backup exists, incr backup has been changed to full",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:06:10\": backup begins after the next regular checkpoint completes",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"P00 INFO: backup start archive = 000000010000000000000002, lsn = 0/2000028",
" [filtered 851 lines of output]",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/base/1/12216 (0B, 100%)",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/base/1/12211 (0B, 100%)",
"P00 INFO: full backup size = 20.5MB",
"P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000010000000000000002, lsn = 0/20000F8",
" [filtered 4 lines of output]"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"20180320-000610F"
]
}
},
{
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
" [filtered 4 lines of output]",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/global/pg_control (8KB, 97%) checksum 7e9b3a469439ee054b8a404c20d65d11bc99c22b",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/backup_label (236B, 100%) checksum fc1f53d72c25f867821dd7013a634e05885bb4c7",
"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 = 000000010000000000000004, lsn = 0/40000F8",
" [filtered 4 lines of output]"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest info"
],
"highlight" : {
"filter" : false,
"filter-context" : 2,
"list" : [
"(full|incr|diff) backup"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"stanza: demo",
" status: ok",
"",
" db (current)",
" wal archive min/max (9.5-1): 000000010000000000000002 / 000000010000000000000004",
"",
" full backup: 20180320-000610F",
" timestamp start/stop: 2018-03-20 00:06:10 / 2018-03-20 00:06:15",
" wal start/stop: 000000010000000000000002 / 000000010000000000000002",
" database size: 20.5MB, backup size: 20.5MB",
" repository size: 2.4MB, repository backup size: 2.4MB",
"",
" diff backup: 20180320-000610F_20180320-000616D",
" timestamp start/stop: 2018-03-20 00:06:16 / 2018-03-20 00:06:20",
" wal start/stop: 000000010000000000000004 / 000000010000000000000004",
" database size: 20.5MB, backup size: 8.2KB",
" repository size: 2.4MB, repository backup size: 400B",
" backup reference list: 20180320-000610F"
]
}
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres rm /var/lib/pgsql/9.5/data/global/pg_control"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm -f /var/lib/pgsql/9.5/pgstartup.log"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 start"
],
"err-expect" : "1",
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cat /var/lib/pgsql/9.5/pgstartup.log"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"could not find the database system"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"postmaster: could not find the database system",
"Expected to find it in the directory \"/var/lib/pgsql/9.5/data\",",
"but could not open file \"/var/lib/pgsql/9.5/data/global/pg_control\": No such file or directory"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres find /var/lib/pgsql/9.5/data -mindepth 1 -delete"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo restore"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --type=incr",
"P00 INFO: last backup label = 20180320-000610F_20180320-000616D, version = 2.01",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:06:35\": backup begins after the next regular checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000006, lsn = 0/6000028",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/pg_multixact/offsets/0000 (8KB, 31%) checksum 0631457264ff7f8d5fb1edc2c0211992a67c73e6",
" [filtered 11 lines of output]"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"start-fast" : {
"value" : "y"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
"start-fast=y"
]
}
},
{
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --start-fast --type=incr",
"P00 INFO: last backup label = 20180320-000610F_20180320-000635I, version = 2.01",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:06:39\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000007, lsn = 0/7000028",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/global/pg_control (8KB, 97%) checksum bb387f3c80e51b3a86746433b0fcb51b6c1dc72d",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
" [filtered 8 lines of output]"
]
}
},
{
"key" : {
"cmd" : [
"sudo chmod 550 /var/lib/pgbackrest/backup/demo/"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --type=incr \\",
" --log-level-console=info backup"
],
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"err-expect" : "47",
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"ERROR:"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
" [filtered 2 lines of output]",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:06:44\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000008, lsn = 0/8000028",
"P00 ERROR: [047]: unable to create path '/var/lib/pgbackrest/backup/demo/20180320-000610F_20180320-000644I': Permission denied",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"P00 INFO: backup command end: aborted with exception [047]"
]
}
},
{
"key" : {
"cmd" : [
"sudo chmod 750 /var/lib/pgbackrest/backup/demo/"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --type=incr \\",
" --log-level-console=info backup"
],
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"err-expect" : "57",
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"ERROR:"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --start-fast --type=incr",
"P00 INFO: last backup label = 20180320-000610F_20180320-000639I, version = 2.01",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:06:46\": backup begins after the requested immediate checkpoint completes",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"P00 ERROR: [057]: ERROR: a backup is already in progress",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
" HINT: Run pg_stop_backup() and try again.:",
" select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS.US TZ'), pg_xlogfile_name(lsn), lsn::text from pg_start_backup('pgBackRest backup started at 2018-03-20 00:06:46', true) as lsn"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"stop-auto" : {
"value" : "y"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
"start-fast=y",
"stop-auto=y"
]
}
},
{
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --start-fast --stop-auto --type=incr",
"P00 INFO: last backup label = 20180320-000610F_20180320-000639I, version = 2.01",
v1.09: 9.6 Support, Configurability, and Bug Fixes Bug Fixes: * Fixed the check command to prevent an error message from being logged if the backup directory does not exist. (Fixed by Cynthia Shang.) * Fixed error message to properly display the archive command when an invalid archive command is detected. (Reported by Jason O'Donnell.) * Fixed an issue where the async archiver would not be started if archive-push did not have enough space to queue a new WAL segment. This meant that the queue would never be cleared without manual intervention (such as calling archive-push directly). PostgreSQL now receives errors when there is not enough space to store new WAL segments but the async process will still be started so that space is eventually freed. (Reported by Jens Wilke.) * Fixed a remote timeout that occurred when a local process generated checksums (during resume or restore) but did not copy files, allowing the remote to go idle. (Reported by Jens Wilke.) Features: * Non-exclusive backups will automatically be used on PostgreSQL 9.6. * Added the cmd-ssh option to allow the ssh client to be specified. (Suggested by Jens Wilke.) * Added the log-level-stderr option to control whether console log messages are sent to stderr or stdout. By default this is set to warn which represents a change in behavior from previous versions, even though it may be more intuitive. Setting log-level-stderr=off will preserve the old behavior. (Suggested by Sascha Biberhofer.) * Set application_name to "pgBackRest [command]" for database connections. (Suggested by Jens Wilke.) * Check that archive_mode is enabled when archive-check option enabled. Refactoring: * Clarified error message when unable to acquire pgBackRest advisory lock to make it clear that it is not a PostgreSQL backup lock. (Suggested by Jens Wilke.) * pgBackRest version number included in command start INFO log output. * Process ID logged for local process start/stop INFO log output.
2016-10-10 23:35:58 +02:00
"P00 WARN: the cluster is already in backup mode but no pgBackRest backup process is running. pg_stop_backup() will be called so a new backup can be started.",
"P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:06:48\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000009, lsn = 0/9000028",
"P01 INFO: backup file /var/lib/pgsql/9.5/data/global/pg_control (8KB, 85%) checksum 780c4dee67fd64882d212825bc18e6ffbc0ee8fb",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
" [filtered 9 lines of output]"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-retention-full" : {
"value" : "2"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
"start-fast=y",
"stop-auto=y"
]
}
},
{
"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 20180320-000610F|remove archive"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 860 lines of output]",
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.01: --log-level-console=detail --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo",
"P00 DETAIL: archive retention on backup 20180320-000610F, archiveId = 9.5-1, start = 000000010000000000000002",
"P00 DETAIL: no archive to remove, archiveId = 9.5-1",
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"P00 INFO: expire command end: completed successfully"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"20180320-000653F"
]
}
},
{
"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\\: 20180320-000610F|archive retention on backup 20180320-000653F|remove archive"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 860 lines of output]",
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo",
"P00 INFO: expire full backup set: 20180320-000610F, 20180320-000610F_20180320-000616D, 20180320-000610F_20180320-000635I, 20180320-000610F_20180320-000639I, 20180320-000610F_20180320-000648I",
"P00 INFO: remove expired backup 20180320-000610F_20180320-000648I",
"P00 INFO: remove expired backup 20180320-000610F_20180320-000639I",
" [filtered 3 lines of output]"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-retention-diff" : {
"value" : "1"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-diff=1",
"repo1-retention-full=2",
"start-fast=y",
"stop-auto=y"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --type=diff backup"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"20180320-000701F_20180320-000710D"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --type=incr backup"
],
"host" : "pg-primary",
"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: 20180320-000701F_20180320-000710D"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
" [filtered 10 lines of output]",
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-diff=1 --repo1-retention-full=2 --stanza=demo",
"P00 INFO: expire diff backup set: 20180320-000701F_20180320-000710D, 20180320-000701F_20180320-000714I",
"P00 INFO: remove expired backup 20180320-000701F_20180320-000714I",
"P00 INFO: remove expired backup 20180320-000701F_20180320-000710D"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"option" : {
"global" : {
"repo1-retention-diff" : {
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"value" : "2"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"",
"[global]",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-diff=2",
"repo1-retention-full=2",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"start-fast=y",
"stop-auto=y"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
],
"host" : "pg-primary",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"20180320-000701F_20180320-000719D"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
]
}
},
{
"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" : "pg-primary",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"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" : "pg-primary",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
" [filtered 8 lines of output]",
"P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000020000000000000012, lsn = 0/120000F8",
"P00 INFO: new backup label = 20180320-000701F_20180320-000724D",
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-diff=2 --repo1-retention-full=2 --stanza=demo"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
],
"host" : "pg-primary",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"20180320-000701F_20180320-000724D"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --log-level-console=detail \\",
" --repo1-retention-archive-type=diff --repo1-retention-archive=1 expire"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"archive retention on backup 20180320-000701F_20180320-000719D|remove archive"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
]
},
"host" : "pg-primary",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: expire command begin 2.01: --log-level-console=detail --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-archive=1 --repo1-retention-archive-type=diff --repo1-retention-diff=2 --repo1-retention-full=2 --stanza=demo",
"P00 DETAIL: archive retention on backup 20180320-000653F, archiveId = 9.5-1, start = 00000002000000000000000A, stop = 00000002000000000000000A",
"P00 DETAIL: archive retention on backup 20180320-000701F, archiveId = 9.5-1, start = 00000002000000000000000C, stop = 00000002000000000000000C",
"P00 DETAIL: archive retention on backup 20180320-000701F_20180320-000719D, archiveId = 9.5-1, start = 00000002000000000000000F, stop = 00000002000000000000000F",
"P00 DETAIL: archive retention on backup 20180320-000701F_20180320-000724D, archiveId = 9.5-1, start = 000000020000000000000012",
"P00 DETAIL: remove archive: archiveId = 9.5-1, start = 00000002000000000000000B, stop = 00000002000000000000000B",
"P00 DETAIL: remove archive: archiveId = 9.5-1, start = 00000002000000000000000D, stop = 00000002000000000000000E",
"P00 DETAIL: remove archive: archiveId = 9.5-1, start = 000000020000000000000010, stop = 000000020000000000000011",
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"P00 INFO: expire command end: completed successfully"
]
}
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 stop"
],
"host" : "pg-primary",
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 877 lines of output]",
"P01 DETAIL: restore file /var/lib/pgsql/9.5/data/base/1/12211 - exists and is zero size (0B, 100%)",
"P00 INFO: write /var/lib/pgsql/9.5/data/recovery.conf",
"P00 INFO: restore global/pg_control (performed last to ensure aborted restores cannot be started)",
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"P00 INFO: restore command end: completed successfully"
]
}
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres psql -c \"create database test1;\""
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"CREATE DATABASE"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres psql -c \"create database test2;\""
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"CREATE DATABASE"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --type=incr backup"
],
"host" : "pg-primary",
"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" : "pg-primary",
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"INSERT 0 1"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres du -sh /var/lib/pgsql/9.5/data/base/16384"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"6.9M\t/var/lib/pgsql/9.5/data/base/16384"
]
}
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --delta \\",
" --db-include=test2 restore"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres psql -c \"select * from test2_table;\" test2"
],
"host" : "pg-primary",
"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" : "pg-primary",
"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.5/data/base/16384"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"152K\t/var/lib/pgsql/9.5/data/base/16384"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres psql -c \"drop database test1;\""
],
"host" : "pg-primary",
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" oid | datname ",
"-------+-----------",
" 1 | template1",
" 12373 | template0",
" 12378 | postgres",
" 16385 | test2",
"(4 rows)"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --type=diff backup"
],
"host" : "pg-primary",
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" message ",
"----------------",
" Important Data",
"(1 row)"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres psql -Atc \"select current_timestamp\""
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"2018-03-20 00:08:02.310193+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" : "pg-primary",
"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.5 stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --delta \\",
" --type=time \"--target=2018-03-20 00:08:02.310193+00\" restore"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm /var/lib/pgsql/9.5/data/pg_log/postgresql.log"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres cat /var/lib/pgsql/9.5/data/recovery.conf"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"recovery_target_time"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
"recovery_target_time = '2018-03-20 00:08:02.310193+00'"
]
}
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" message ",
"----------------",
" Important Data",
"(1 row)"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres cat /var/lib/pgsql/9.5/data/pg_log/postgresql.log"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"recovery stopping before|last completed transaction|starting point-in-time recovery"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"LOG: database system was interrupted; last known up at 2018-03-20 00:07:56 UTC",
"LOG: starting point-in-time recovery to 2018-03-20 00:08:02.310193+00",
"LOG: restored log file \"00000004.history\" from archive",
"LOG: restored log file \"000000040000000000000017\" from archive",
"LOG: redo starts at 0/17000028",
"LOG: consistent recovery state reached at 0/170000F8",
"LOG: restored log file \"000000040000000000000018\" from archive",
"LOG: recovery stopping before commit of transaction 627, time 2018-03-20 00:08:02.421161+00",
"LOG: redo done at 0/18022FF8",
"LOG: last completed transaction was at log time 2018-03-20 00:08:02.206459+00",
"LOG: selected new timeline ID: 5",
"LOG: restored log file \"00000004.history\" from archive",
v1.09: 9.6 Support, Configurability, and Bug Fixes Bug Fixes: * Fixed the check command to prevent an error message from being logged if the backup directory does not exist. (Fixed by Cynthia Shang.) * Fixed error message to properly display the archive command when an invalid archive command is detected. (Reported by Jason O'Donnell.) * Fixed an issue where the async archiver would not be started if archive-push did not have enough space to queue a new WAL segment. This meant that the queue would never be cleared without manual intervention (such as calling archive-push directly). PostgreSQL now receives errors when there is not enough space to store new WAL segments but the async process will still be started so that space is eventually freed. (Reported by Jens Wilke.) * Fixed a remote timeout that occurred when a local process generated checksums (during resume or restore) but did not copy files, allowing the remote to go idle. (Reported by Jens Wilke.) Features: * Non-exclusive backups will automatically be used on PostgreSQL 9.6. * Added the cmd-ssh option to allow the ssh client to be specified. (Suggested by Jens Wilke.) * Added the log-level-stderr option to control whether console log messages are sent to stderr or stdout. By default this is set to warn which represents a change in behavior from previous versions, even though it may be more intuitive. Setting log-level-stderr=off will preserve the old behavior. (Suggested by Sascha Biberhofer.) * Set application_name to "pgBackRest [command]" for database connections. (Suggested by Jens Wilke.) * Check that archive_mode is enabled when archive-check option enabled. Refactoring: * Clarified error message when unable to acquire pgBackRest advisory lock to make it clear that it is not a PostgreSQL backup lock. (Suggested by Jens Wilke.) * pgBackRest version number included in command start INFO log output. * Process ID logged for local process start/stop INFO log output.
2016-10-10 23:35:58 +02:00
" [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" : "pg-primary",
"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 -5 | head -1"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"20180320-000701F_20180320-000755D"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --type=incr backup"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --delta \\",
" --type=time \"--target=2018-03-20 00:08:02.310193+00\" restore"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm /var/lib/pgsql/9.5/data/pg_log/postgresql.log"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"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" : "pg-primary",
"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.5/data/pg_log/postgresql.log"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"starting point-in-time recovery|consistent recovery state reached"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"LOG: database system was interrupted; last known up at 2018-03-20 00:08:12 UTC",
"LOG: starting point-in-time recovery to 2018-03-20 00:08:02.310193+00",
"LOG: restored log file \"00000005.history\" from archive",
"LOG: restored log file \"000000050000000000000019\" from archive",
"LOG: redo starts at 0/19000028",
"LOG: consistent recovery state reached at 0/190000F8",
"LOG: redo done at 0/190000F8",
"LOG: restored log file \"000000050000000000000019\" from archive",
v1.09: 9.6 Support, Configurability, and Bug Fixes Bug Fixes: * Fixed the check command to prevent an error message from being logged if the backup directory does not exist. (Fixed by Cynthia Shang.) * Fixed error message to properly display the archive command when an invalid archive command is detected. (Reported by Jason O'Donnell.) * Fixed an issue where the async archiver would not be started if archive-push did not have enough space to queue a new WAL segment. This meant that the queue would never be cleared without manual intervention (such as calling archive-push directly). PostgreSQL now receives errors when there is not enough space to store new WAL segments but the async process will still be started so that space is eventually freed. (Reported by Jens Wilke.) * Fixed a remote timeout that occurred when a local process generated checksums (during resume or restore) but did not copy files, allowing the remote to go idle. (Reported by Jens Wilke.) Features: * Non-exclusive backups will automatically be used on PostgreSQL 9.6. * Added the cmd-ssh option to allow the ssh client to be specified. (Suggested by Jens Wilke.) * Added the log-level-stderr option to control whether console log messages are sent to stderr or stdout. By default this is set to warn which represents a change in behavior from previous versions, even though it may be more intuitive. Setting log-level-stderr=off will preserve the old behavior. (Suggested by Sascha Biberhofer.) * Set application_name to "pgBackRest [command]" for database connections. (Suggested by Jens Wilke.) * Check that archive_mode is enabled when archive-check option enabled. Refactoring: * Clarified error message when unable to acquire pgBackRest advisory lock to make it clear that it is not a PostgreSQL backup lock. (Suggested by Jens Wilke.) * pgBackRest version number included in command start INFO log output. * Process ID logged for local process start/stop INFO log output.
2016-10-10 23:35:58 +02:00
" [filtered 7 lines of output]"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest info"
],
"highlight" : {
"filter" : false,
"filter-context" : 2,
"list" : [
"20180320-000701F_20180320-000755D"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"stanza: demo",
" status: ok",
"",
" db (current)",
" wal archive min/max (9.5-1): 00000002000000000000000A / 000000050000000000000019",
"",
" full backup: 20180320-000653F",
" timestamp start/stop: 2018-03-20 00:06:53 / 2018-03-20 00:07:00",
" wal start/stop: 00000002000000000000000A / 00000002000000000000000A",
" database size: 20.5MB, backup size: 20.5MB",
" repository size: 2.4MB, repository backup size: 2.4MB",
"",
" full backup: 20180320-000701F",
" timestamp start/stop: 2018-03-20 00:07:01 / 2018-03-20 00:07:07",
" wal start/stop: 00000002000000000000000C / 00000002000000000000000C",
" database size: 20.5MB, backup size: 20.5MB",
" repository size: 2.4MB, repository backup size: 2.4MB",
"",
" diff backup: 20180320-000701F_20180320-000724D",
" timestamp start/stop: 2018-03-20 00:07:24 / 2018-03-20 00:07:28",
" wal start/stop: 000000020000000000000012 / 000000020000000000000012",
" database size: 20.5MB, backup size: 9.8KB",
" repository size: 2.4MB, repository backup size: 1KB",
" backup reference list: 20180320-000701F",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"",
" incr backup: 20180320-000701F_20180320-000738I",
" timestamp start/stop: 2018-03-20 00:07:38 / 2018-03-20 00:07:44",
" wal start/stop: 000000030000000000000014 / 000000030000000000000014",
" database size: 33.9MB, backup size: 13.4MB",
" repository size: 4MB, repository backup size: 1.6MB",
" backup reference list: 20180320-000701F",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"",
" diff backup: 20180320-000701F_20180320-000755D",
" timestamp start/stop: 2018-03-20 00:07:55 / 2018-03-20 00:08:00",
" wal start/stop: 000000040000000000000017 / 000000040000000000000017",
" database size: 27.2MB, backup size: 6.7MB",
" repository size: 3.2MB, repository backup size: 820KB",
" backup reference list: 20180320-000701F",
"",
" incr backup: 20180320-000701F_20180320-000811I",
" timestamp start/stop: 2018-03-20 00:08:11 / 2018-03-20 00:08:15",
" wal start/stop: 000000050000000000000019 / 000000050000000000000019",
" database size: 27.2MB, backup size: 2MB",
" repository size: 3.2MB, repository backup size: 209.3KB",
" backup reference list: 20180320-000701F, 20180320-000701F_20180320-000755D"
]
}
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --delta \\",
" --type=time \"--target=2018-03-20 00:08:02.310193+00\" \\",
" --set=20180320-000701F_20180320-000755D restore"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm /var/lib/pgsql/9.5/data/pg_log/postgresql.log"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" message ",
"----------------",
" Important Data",
"(1 row)"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres cat /var/lib/pgsql/9.5/data/pg_log/postgresql.log"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"recovery stopping before|last completed transaction|starting point-in-time recovery"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"LOG: database system was interrupted; last known up at 2018-03-20 00:07:56 UTC",
"LOG: starting point-in-time recovery to 2018-03-20 00:08:02.310193+00",
"LOG: restored log file \"00000004.history\" from archive",
"LOG: restored log file \"000000040000000000000017\" from archive",
"LOG: redo starts at 0/17000028",
"LOG: consistent recovery state reached at 0/170000F8",
"LOG: restored log file \"000000040000000000000018\" from archive",
"LOG: recovery stopping before commit of transaction 627, time 2018-03-20 00:08:02.421161+00",
"LOG: redo done at 0/18022FF8",
"LOG: last completed transaction was at log time 2018-03-20 00:08:02.206459+00",
"LOG: restored log file \"00000005.history\" from archive",
"LOG: restored log file \"00000006.history\" from archive",
" [filtered 5 lines of output]"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-cipher-pass" : {},
"repo1-cipher-type" : {
"value" : "none"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"repo1-cipher-type=none",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-diff=2",
"repo1-retention-full=2",
"start-fast=y",
"stop-auto=y"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"process-max" : {
"value" : "4"
},
"repo1-path" : {
"value" : "/"
},
"repo1-s3-bucket" : {
"value" : "demo-bucket"
},
"repo1-s3-endpoint" : {
"value" : "s3.amazonaws.com"
},
"repo1-s3-key" : {
"value" : "accessKey1"
},
"repo1-s3-key-secret" : {
"value" : "verySecretKey1"
},
"repo1-s3-region" : {
"value" : "us-east-1"
},
"repo1-s3-verify-ssl" : {
"value" : "n"
},
"repo1-type" : {
"value" : "s3"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"process-max=4",
"repo1-cipher-type=none",
"repo1-path=/",
"repo1-retention-diff=2",
"repo1-retention-full=2",
"repo1-s3-bucket=demo-bucket",
"repo1-s3-endpoint=s3.amazonaws.com",
"repo1-s3-key=accessKey1",
"repo1-s3-key-secret=verySecretKey1",
"repo1-s3-region=us-east-1",
"repo1-s3-verify-ssl=n",
"repo1-type=s3",
"start-fast=y",
"stop-auto=y"
]
}
},
{
"key" : {
"cmd" : [
"sudo echo \"172.17.0.2 demo-bucket.s3.amazonaws.com s3.amazonaws.com\" | \\",
" sudo tee -a /etc/hosts"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"aws s3 --no-verify-ssl mb s3://demo-bucket 2>&1"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-create"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"completed successfully"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: stanza-create command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-type=none --repo1-path=/ --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=demo",
"P00 INFO: stanza-create command end: completed successfully"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo \\",
" --log-level-console=info backup"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"no prior backup exists|full backup size"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --process-max=4 --repo1-cipher-type=none --repo1-path=/ --repo1-retention-diff=2 --repo1-retention-full=2 --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=demo --start-fast --stop-auto",
"P00 WARN: no prior backup exists, incr backup has been changed to full",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:08:37\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000070000000000000019, lsn = 0/19000028",
" [filtered 1119 lines of output]",
"P04 INFO: backup file /var/lib/pgsql/9.5/data/base/1/12216 (0B, 100%)",
"P02 INFO: backup file /var/lib/pgsql/9.5/data/base/1/12211 (0B, 100%)",
"P00 INFO: full backup size = 27.3MB",
"P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000070000000000000019, lsn = 0/19000130",
" [filtered 4 lines of output]"
]
}
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stop"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"completed successfully"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: stop command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-type=none --repo1-path=/ --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=demo",
"P00 INFO: stop command end: completed successfully"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-delete"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"completed successfully"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: stanza-delete command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-cipher-type=none --repo1-path=/ --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=demo",
"P00 INFO: stanza-delete command end: completed successfully"
]
}
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"id" : "repo1",
"image" : "pgbackrest/test:co6-base",
"name" : "repository",
"os" : "co6"
},
"type" : "host",
"value" : {
"ip" : "172.17.0.4"
}
},
{
"key" : {
"cmd" : [
"sudo groupadd pgbackrest"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo adduser -gpgbackrest -n pgbackrest"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo yum install perl perl-Time-HiRes perl-parent perl-JSON \\",
" perl-Digest-SHA perl-DBD-Pg perl-XML-LibXML perl-IO-Socket-SSL"
],
"cmd-extra" : "-y 2>&1",
"host" : "repository",
"output" : false
},
"type" : "exe"
},
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
{
"key" : {
"cmd" : [
"sudo mkdir /root/pgbackrest-release-2.01"
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
],
"host" : "repository",
"output" : false
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
},
"type" : "exe"
},
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/build /root/pgbackrest-release-2.01"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
],
"host" : "repository",
"output" : false
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/lib /root/pgbackrest-release-2.01"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
],
"host" : "repository",
"output" : false
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
},
v1.09: 9.6 Support, Configurability, and Bug Fixes Bug Fixes: * Fixed the check command to prevent an error message from being logged if the backup directory does not exist. (Fixed by Cynthia Shang.) * Fixed error message to properly display the archive command when an invalid archive command is detected. (Reported by Jason O'Donnell.) * Fixed an issue where the async archiver would not be started if archive-push did not have enough space to queue a new WAL segment. This meant that the queue would never be cleared without manual intervention (such as calling archive-push directly). PostgreSQL now receives errors when there is not enough space to store new WAL segments but the async process will still be started so that space is eventually freed. (Reported by Jens Wilke.) * Fixed a remote timeout that occurred when a local process generated checksums (during resume or restore) but did not copy files, allowing the remote to go idle. (Reported by Jens Wilke.) Features: * Non-exclusive backups will automatically be used on PostgreSQL 9.6. * Added the cmd-ssh option to allow the ssh client to be specified. (Suggested by Jens Wilke.) * Added the log-level-stderr option to control whether console log messages are sent to stderr or stdout. By default this is set to warn which represents a change in behavior from previous versions, even though it may be more intuitive. Setting log-level-stderr=off will preserve the old behavior. (Suggested by Sascha Biberhofer.) * Set application_name to "pgBackRest [command]" for database connections. (Suggested by Jens Wilke.) * Check that archive_mode is enabled when archive-check option enabled. Refactoring: * Clarified error message when unable to acquire pgBackRest advisory lock to make it clear that it is not a PostgreSQL backup lock. (Suggested by Jens Wilke.) * pgBackRest version number included in command start INFO log output. * Process ID logged for local process start/stop INFO log output.
2016-10-10 23:35:58 +02:00
"type" : "exe"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/libc /root/pgbackrest-release-2.01"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/src /root/pgbackrest-release-2.01"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /root/pgbackrest-release-2.01/lib/pgBackRest \\",
" /usr/share/perl5"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo find /usr/share/perl5/pgBackRest -type f -exec chmod 644 {} +"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo find /usr/share/perl5/pgBackRest -type d -exec chmod 755 {} +"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo mkdir -m 770 /var/log/pgbackrest"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
{
"key" : {
"cmd" : [
"sudo chown pgbackrest:pgbackrest /var/log/pgbackrest"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
],
"host" : "repository",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo touch /etc/pgbackrest.conf"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
],
"host" : "repository",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chmod 640 /etc/pgbackrest.conf"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown pgbackrest:pgbackrest /etc/pgbackrest.conf"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo sh -c 'cd /root/pgbackrest-release-2.01/libc && \\",
" perl Makefile.PL INSTALLMAN1DIR=none INSTALLMAN3DIR=none'"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/libc test"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/libc install"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/src"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/src install"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo mkdir /var/lib/pgbackrest"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chmod 750 /var/lib/pgbackrest"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown pgbackrest:pgbackrest /var/lib/pgbackrest"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest mkdir -m 750 /home/pgbackrest/.ssh"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest ssh-keygen -f /home/pgbackrest/.ssh/id_rsa \\",
" -t rsa -b 4096 -N \"\""
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres mkdir -m 750 -p /home/postgres/.ssh"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres ssh-keygen -f /home/postgres/.ssh/id_rsa \\",
" -t rsa -b 4096 -N \"\""
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo ssh root@pg-primary cat /home/postgres/.ssh/id_rsa.pub | \\",
" sudo -u pgbackrest tee -a /home/pgbackrest/.ssh/authorized_keys"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo ssh root@repository cat /home/pgbackrest/.ssh/id_rsa.pub | \\",
" sudo -u postgres tee -a /home/postgres/.ssh/authorized_keys"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest ssh postgres@pg-primary"
],
"cmd-extra" : "-o StrictHostKeyChecking=no ls",
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres ssh pgbackrest@repository"
],
"cmd-extra" : "-o StrictHostKeyChecking=no ls",
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "repository",
"option" : {
"global" : {
"repo1-path" : {
"value" : "/var/lib/pgbackrest"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[global]",
"repo1-path=/var/lib/pgbackrest"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "repository",
"option" : {
"demo" : {
"pg1-host" : {
"value" : "pg-primary"
},
"pg1-host-user" : {
"value" : "postgres"
},
"pg1-path" : {
"value" : "/var/lib/pgsql/9.5/data"
}
},
"global" : {
"log-level-stderr" : {
"value" : "off"
},
"log-timestamp" : {
"value" : "n"
},
"repo1-retention-full" : {
"value" : "2"
},
"start-fast" : {
"value" : "y"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-host-user=postgres",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
"start-fast=y"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/pgsql/9.5/data"
}
},
"global" : {
"log-level-file" : {
"value" : "detail"
},
"log-level-stderr" : {
"value" : "off"
},
"log-timestamp" : {
"value" : "n"
},
"repo1-host" : {
"value" : "repository"
}
}
},
"reset" : true
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"",
"[global]",
"log-level-file=detail",
"repo1-host=repository"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo stanza-create"
],
"host" : "repository",
"output" : true
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo check"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo check"
],
"host" : "repository",
"output" : true
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo backup"
],
"host" : "repository",
"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.5 stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --delta restore"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo backup"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo mkdir -m 750 /var/spool/pgbackrest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown postgres:postgres /var/spool/pgbackrest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"archive-async" : {
"value" : "y"
},
"spool-path" : {
"value" : "/var/spool/pgbackrest"
}
},
"global:archive-push" : {
"process-max" : {
"value" : "2"
}
}
}
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"",
"[global]",
"archive-async=y",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"log-level-file=detail",
"repo1-host=repository",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"spool-path=/var/spool/pgbackrest",
"",
"[global:archive-push]",
"process-max=2"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
]
}
},
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
{
"key" : {
"cmd" : [
"sudo -u postgres rm -f /var/log/pgbackrest/demo-archive-async.log"
],
"host" : "pg-primary",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"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" : "pg-primary",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"output" : false
},
"type" : "exe"
},
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --log-level-console=info check"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"WAL segment"
]
},
"host" : "pg-primary",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: check command begin 2.01: --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-host=repository --stanza=demo",
"P00 INFO: WAL segment 000000080000000000000025 successfully stored in the archive at '/var/lib/pgbackrest/archive/demo/9.5-1/0000000800000000/000000080000000000000025-794b3e85ba26e8069db739ac867d1c1636907372.gz'",
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"P00 INFO: check command end: completed successfully"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
]
}
},
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
{
"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" : "pg-primary",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push command begin 2.01: --archive-async --log-level-console=warn --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 3 WAL file(s) to archive: 000000080000000000000020...000000080000000000000022",
"P02 DETAIL: pushed WAL file 000000080000000000000021 to archive",
"P01 DETAIL: pushed WAL file 000000080000000000000020 to archive",
"P02 DETAIL: pushed WAL file 000000080000000000000022 to archive",
"P00 INFO: archive-push command end: completed successfully",
"",
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push command begin 2.01: --archive-async --log-level-console=warn --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 2 WAL file(s) to archive: 000000080000000000000023...000000080000000000000024",
"P02 DETAIL: pushed WAL file 000000080000000000000024 to archive",
"P01 DETAIL: pushed WAL file 000000080000000000000023 to archive",
"P00 INFO: archive-push command end: completed successfully",
"",
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push command begin 2.01: --archive-async --log-level-console=warn --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 1 WAL file(s) to archive: 000000080000000000000025",
"P01 DETAIL: pushed WAL file 000000080000000000000025 to archive",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"P00 INFO: archive-push command end: completed successfully"
]
}
},
{
"key" : {
"cmd" : [
"sudo lscpu"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"^CPU\\(s\\)\\:"
]
},
"host" : "repository",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"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 pgbackrest pgbackrest --stanza=demo --type=full backup"
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
],
"host" : "repository",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "repository",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"option" : {
"global" : {
"process-max" : {
"value" : "3"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-host-user=postgres",
"pg1-path=/var/lib/pgsql/9.5/data",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"",
"[global]",
"process-max=3",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"start-fast=y"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo --type=full backup"
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
],
"host" : "repository",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest info"
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
],
"highlight" : {
"filter" : false,
"filter-context" : 2,
"list" : [
"timestamp start/stop"
]
},
"host" : "repository",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"stanza: demo",
" status: ok",
"",
" db (current)",
" wal archive min/max (9.5-1): 000000080000000000000026 / 000000080000000000000027",
"",
" full backup: 20180320-001019F",
" timestamp start/stop: 2018-03-20 00:10:19 / 2018-03-20 00:10:28",
" wal start/stop: 000000080000000000000026 / 000000080000000000000026",
" database size: 27.3MB, backup size: 27.3MB",
" repository size: 3.1MB, repository backup size: 3.1MB",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"",
" full backup: 20180320-001030F",
" timestamp start/stop: 2018-03-20 00:10:30 / 2018-03-20 00:10:38",
" wal start/stop: 000000080000000000000027 / 000000080000000000000027",
" database size: 27.3MB, backup size: 27.3MB",
" repository size: 3.1MB, repository backup size: 3.1MB"
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo backup"
],
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"err-expect" : "62",
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"\\: stop file exists for all stanzas"
]
},
"host" : "repository",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 ERROR: [062]: raised from remote process on 'pg-primary': stop file exists for all stanzas"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest stop"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 WARN: stop file already exists for all stanzas"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo backup"
],
"err-expect" : "62",
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"\\: stop file exists for stanza demo"
]
},
"host" : "repository",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 ERROR: [062]: raised from remote process on 'pg-primary': stop file exists for stanza demo"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"id" : "pg2",
"image" : "pgbackrest/test:co6-base",
"name" : "pg-standby",
"os" : "co6"
},
"type" : "host",
"value" : {
"ip" : "172.17.0.5"
}
},
{
"key" : {
"cmd" : [
"sudo yum install perl perl-Time-HiRes perl-parent perl-JSON \\",
" perl-Digest-SHA perl-DBD-Pg perl-XML-LibXML perl-IO-Socket-SSL"
],
"cmd-extra" : "-y 2>&1",
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo mkdir /root/pgbackrest-release-2.01"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/build /root/pgbackrest-release-2.01"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/lib /root/pgbackrest-release-2.01"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/libc /root/pgbackrest-release-2.01"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/src /root/pgbackrest-release-2.01"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /root/pgbackrest-release-2.01/lib/pgBackRest \\",
" /usr/share/perl5"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo find /usr/share/perl5/pgBackRest -type f -exec chmod 644 {} +"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo find /usr/share/perl5/pgBackRest -type d -exec chmod 755 {} +"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo mkdir -m 770 /var/log/pgbackrest"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown postgres:postgres /var/log/pgbackrest"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo touch /etc/pgbackrest.conf"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chmod 640 /etc/pgbackrest.conf"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown postgres:postgres /etc/pgbackrest.conf"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo sh -c 'cd /root/pgbackrest-release-2.01/libc && \\",
" perl Makefile.PL INSTALLMAN1DIR=none INSTALLMAN3DIR=none'"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/libc test"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/libc install"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/src"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/src install"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres mkdir -m 750 -p /home/postgres/.ssh"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres ssh-keygen -f /home/postgres/.ssh/id_rsa \\",
" -t rsa -b 4096 -N \"\""
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo ssh root@pg-standby cat /home/postgres/.ssh/id_rsa.pub | \\",
" sudo -u pgbackrest tee -a /home/pgbackrest/.ssh/authorized_keys"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo ssh root@repository cat /home/pgbackrest/.ssh/id_rsa.pub | \\",
" sudo -u postgres tee -a /home/postgres/.ssh/authorized_keys"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest ssh postgres@pg-standby"
],
"cmd-extra" : "-o StrictHostKeyChecking=no ls",
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres ssh pgbackrest@repository"
],
"cmd-extra" : "-o StrictHostKeyChecking=no ls",
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-standby",
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/pgsql/9.5/data"
},
"recovery-option" : {
"value" : "standby_mode=on"
}
},
"global" : {
v1.09: 9.6 Support, Configurability, and Bug Fixes Bug Fixes: * Fixed the check command to prevent an error message from being logged if the backup directory does not exist. (Fixed by Cynthia Shang.) * Fixed error message to properly display the archive command when an invalid archive command is detected. (Reported by Jason O'Donnell.) * Fixed an issue where the async archiver would not be started if archive-push did not have enough space to queue a new WAL segment. This meant that the queue would never be cleared without manual intervention (such as calling archive-push directly). PostgreSQL now receives errors when there is not enough space to store new WAL segments but the async process will still be started so that space is eventually freed. (Reported by Jens Wilke.) * Fixed a remote timeout that occurred when a local process generated checksums (during resume or restore) but did not copy files, allowing the remote to go idle. (Reported by Jens Wilke.) Features: * Non-exclusive backups will automatically be used on PostgreSQL 9.6. * Added the cmd-ssh option to allow the ssh client to be specified. (Suggested by Jens Wilke.) * Added the log-level-stderr option to control whether console log messages are sent to stderr or stdout. By default this is set to warn which represents a change in behavior from previous versions, even though it may be more intuitive. Setting log-level-stderr=off will preserve the old behavior. (Suggested by Sascha Biberhofer.) * Set application_name to "pgBackRest [command]" for database connections. (Suggested by Jens Wilke.) * Check that archive_mode is enabled when archive-check option enabled. Refactoring: * Clarified error message when unable to acquire pgBackRest advisory lock to make it clear that it is not a PostgreSQL backup lock. (Suggested by Jens Wilke.) * pgBackRest version number included in command start INFO log output. * Process ID logged for local process start/stop INFO log output.
2016-10-10 23:35:58 +02:00
"log-level-stderr" : {
"value" : "off"
},
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"log-timestamp" : {
"value" : "n"
},
"repo1-host" : {
"value" : "repository"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"recovery-option=standby_mode=on",
"",
"[global]",
"repo1-host=repository"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres mkdir -p -m 700 /var/lib/pgsql/9.5/data"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo restore"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres cat /var/lib/pgsql/9.5/data/recovery.conf"
],
"host" : "pg-standby",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"standby_mode = 'on'",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/data/postgresql.conf",
"host" : "pg-standby",
"option" : {
"hot_standby" : {
"value" : "on"
},
"log_filename" : {
"value" : "'postgresql.log'"
},
"log_line_prefix" : {
"value" : "''"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"hot_standby = on",
"log_filename = 'postgresql.log'",
"log_line_prefix = ''"
]
}
},
{
"key" : {
"cmd" : [
"sudo rm /var/lib/pgsql/9.5/data/pg_log/postgresql.log"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 start"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres cat /var/lib/pgsql/9.5/data/pg_log/postgresql.log"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"entering standby mode|database system is ready to accept read only connections"
]
},
"host" : "pg-standby",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"LOG: database system was interrupted; last known up at 2018-03-20 00:10:31 UTC",
"LOG: entering standby mode",
"LOG: restored log file \"00000008.history\" from archive",
"LOG: restored log file \"000000080000000000000027\" from archive",
"LOG: redo starts at 0/27000028",
"LOG: consistent recovery state reached at 0/27000130",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"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" : "pg-primary",
"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" : "pg-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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" pg_switch_xlog | now ",
"----------------+------------------------------",
" 0/2801AF50 | 2018-03-20 00:11:13.86664+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" : "pg-standby",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" message | now ",
"----------------+------------------------------",
" Important Data | 2018-03-20 00:11:15.74974+00",
"(1 row)"
]
}
},
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
{
"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" : "pg-standby",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: check command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/pgsql/9.5/data --repo1-host=repository --stanza=demo",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"CREATE ROLE"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres sh -c 'echo \\",
" \"host replication replicator 172.17.0.5/32 md5\" \\",
" >> /var/lib/pgsql/9.5/data/pg_hba.conf'"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 reload"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-standby",
"option" : {
"demo" : {
"recovery-option" : {
"value" : "primary_conninfo=host=172.17.0.3 port=5432 user=replicator"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.5/data",
"recovery-option=standby_mode=on",
"recovery-option=primary_conninfo=host=172.17.0.3 port=5432 user=replicator",
"",
"[global]",
"repo1-host=repository"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres sh -c 'echo \\",
" \"172.17.0.3:*:replication:replicator:jw8s0F4\" \\",
" >> /home/postgres/.pgpass'"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres chmod 600 /home/postgres/.pgpass"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 stop"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --delta restore"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres cat /var/lib/pgsql/9.5/data/recovery.conf"
],
"host" : "pg-standby",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"primary_conninfo = 'host=172.17.0.3 port=5432 user=replicator'",
"standby_mode = 'on'",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'"
]
}
},
{
"key" : {
"file" : "/var/lib/pgsql/9.5/data/postgresql.conf",
"host" : "pg-standby",
"option" : {
"hot_standby" : {
"value" : "on"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"hot_standby = on",
"log_filename = 'postgresql.log'",
"log_line_prefix = ''"
]
}
},
{
"key" : {
"cmd" : [
"sudo rm /var/lib/pgsql/9.5/data/pg_log/postgresql.log"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 start"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres cat /var/lib/pgsql/9.5/data/pg_log/postgresql.log"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"started streaming WAL from primary"
]
},
"host" : "pg-standby",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 6 lines of output]",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"LOG: database system is ready to accept read only connections",
"LOG: restored log file \"000000080000000000000028\" from archive",
"LOG: started streaming WAL from primary at 0/29000000 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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" message | now ",
"----------------+-------------------------------",
" Important Data | 2018-03-20 00:11:28.275949+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" : "pg-standby",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" message | now ",
"----------------+-------------------------------",
" Important Data | 2018-03-20 00:11:28.461057+00",
"(1 row)"
]
}
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "repository",
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
"option" : {
"demo" : {
"pg2-host" : {
"value" : "pg-standby"
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
},
"pg2-host-user" : {
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
"value" : "postgres"
},
"pg2-path" : {
"value" : "/var/lib/pgsql/9.5/data"
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
}
},
"global" : {
"backup-standby" : {
"value" : "y"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-host-user=postgres",
"pg1-path=/var/lib/pgsql/9.5/data",
"pg2-host=pg-standby",
"pg2-host-user=postgres",
"pg2-path=/var/lib/pgsql/9.5/data",
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
"",
"[global]",
"backup-standby=y",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"process-max=3",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
"start-fast=y"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo --log-level-console=detail backup"
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"backup file pg-primary|replay on the standby"
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
]
},
"host" : "repository",
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
" [filtered 2 lines of output]",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:11:29\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 00000008000000000000002A, lsn = 0/2A000028",
"P00 INFO: wait for replay on the standby to reach 0/2A000028",
"P00 INFO: replay on the standby reached 0/2A0000D0",
"P02 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2608 (432KB, 20%) checksum 43dc37e1adc99cd565209efc74fa53cae1f2aae1",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/global/pg_control (8KB, 20%) checksum 27b52c0ee696a882bd06a233e2a11686e6d40489",
"P04 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/1249 (360KB, 37%) checksum 365e91049e35e27294acbf44c7704d2cd05cb423",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/pg_log/postgresql.log (4.6KB, 37%) checksum 94b761b366be33010711c922eff2abb72e6ff43c",
"P02 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2673 (320KB, 52%) checksum abf621f5689a53727703458fe9d57a725bc6e853",
"P03 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2674 (360KB, 69%) checksum f9962cca45f890610e12caca675813ede8a0f5ed",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/pg_hba.conf (4.1KB, 69%) checksum dbda288edbce6486fab7ca9f9db0864316754bee",
"P04 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2658 (112KB, 74%) checksum 1ef341fcf8155b1e3e5253df3236168d6368fa29",
"P01 INFO: backup file pg-primary:/var/lib/pgsql/9.5/data/backup_label (238B, 74%) checksum 2dc8a970435f1bb5edbc7dd9e8a06010ff5d05f2",
"P02 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/1259 (104KB, 79%) checksum 988c7e55688e8206c1be12cf85e08f7da94c1db6",
"P03 INFO: backup file pg-standby:/var/lib/pgsql/9.5/data/base/12378/2659 (72KB, 83%) checksum a0eef2a57b5b7df72bce3acdc8ec39d88f149512",
" [filtered 30 lines of output]"
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo yum install postgresql96-server"
],
"cmd-extra" : "-y",
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.5 stop"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo yum install postgresql96-server"
],
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"cmd-extra" : "-y",
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres /usr/pgsql-9.6/bin/initdb \\",
" -D /var/lib/pgsql/9.6/data -k -A peer"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
],
"host" : "pg-primary",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo -u postgres sh -c 'cd /var/lib/pgsql && \\",
" /usr/pgsql-9.6/bin/pg_upgrade \\",
" --old-bindir=/usr/pgsql-9.5/bin \\",
" --new-bindir=/usr/pgsql-9.6/bin \\",
" --old-datadir=/var/lib/pgsql/9.5/data \\",
" --new-datadir=/var/lib/pgsql/9.6/data \\",
" --old-options=\" -c config_file=/var/lib/pgsql/9.5/data/postgresql.conf\" \\",
" --new-options=\" -c config_file=/var/lib/pgsql/9.6/data/postgresql.conf\"'"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
],
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"Upgrade Complete"
]
},
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe",
"value" : {
"output" : [
" [filtered 69 lines of output]",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"Creating script to delete old cluster ok",
"",
"Upgrade Complete",
"----------------",
"Optimizer statistics are not transferred by pg_upgrade so,",
" [filtered 4 lines of output]"
]
}
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
},
{
"key" : {
"file" : "/var/lib/pgsql/9.6/data/postgresql.conf",
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"archive_command" : {
"value" : "'pgbackrest --stanza=demo archive-push %p'"
},
"archive_mode" : {
"value" : "on"
},
"listen_addresses" : {
"value" : "'*'"
},
"log_line_prefix" : {
"value" : "''"
},
"max_wal_senders" : {
"value" : "3"
},
"port" : {
"value" : "5432"
},
"wal_level" : {
"value" : "hot_standby"
}
}
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "cfg-postgresql",
"value" : {
"config" : [
"archive_command = 'pgbackrest --stanza=demo archive-push %p'",
"archive_mode = on",
"listen_addresses = '*'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"port = 5432",
"wal_level = hot_standby"
]
}
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
},
{
"key" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/pgsql/9.6/data"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
}
}
}
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.6/data",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"",
"[global]",
"archive-async=y",
"log-level-file=detail",
"repo1-host=repository",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"spool-path=/var/spool/pgbackrest",
"",
"[global:archive-push]",
"process-max=2"
]
}
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
},
{
"key" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"file" : "/etc/pgbackrest.conf",
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/pgsql/9.6/data"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
}
}
}
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/pgsql/9.6/data",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"recovery-option=standby_mode=on",
"recovery-option=primary_conninfo=host=172.17.0.3 port=5432 user=replicator",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"",
"[global]",
"repo1-host=repository"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "repository",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/pgsql/9.6/data"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
},
"pg2-path" : {
"value" : "/var/lib/pgsql/9.6/data"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
}
},
"global" : {
"backup-standby" : {
"value" : "n"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-host-user=postgres",
"pg1-path=/var/lib/pgsql/9.6/data",
"pg2-host=pg-standby",
"pg2-host-user=postgres",
"pg2-path=/var/lib/pgsql/9.6/data",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"",
"[global]",
"backup-standby=n",
"process-max=3",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"start-fast=y"
]
}
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
},
{
"key" : {
"cmd" : [
"sudo cp /var/lib/pgsql/9.5/data/pg_hba.conf \\",
" /var/lib/pgsql/9.6/data/pg_hba.conf"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
],
"host" : "pg-primary",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo --no-online \\",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
" --log-level-console=info stanza-upgrade"
],
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"completed successfully"
]
},
"host" : "repository",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: stanza-upgrade command begin 2.01: --no-backup-standby --log-level-console=info --log-level-stderr=off --no-log-timestamp --no-online --pg1-host=pg-primary --pg2-host=pg-standby --pg1-host-user=postgres --pg2-host-user=postgres --pg1-path=/var/lib/pgsql/9.6/data --pg2-path=/var/lib/pgsql/9.6/data --repo1-path=/var/lib/pgbackrest --stanza=demo",
"P00 INFO: stanza-upgrade command end: completed successfully"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo service postgresql-9.6 start"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe",
"value" : {
"output" : [
"Starting postgresql-9.6 service: [ OK ]\r"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres service postgresql-9.6 status"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe",
"value" : {
"output" : [
"postgresql-9.6 (pid 4948) is running..."
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo -u postgres pgbackrest --stanza=demo check"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe"
},
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
{
"key" : {
"cmd" : [
"sudo rm -rf /var/lib/pgsql/9.5/data"
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
],
"host" : "pg-primary",
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm -rf /var/lib/pgsql/9.5/data"
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres mkdir -p -m 700 /usr/pgsql-9.6/bin"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo check"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "repository",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 WARN: [056]: raised from remote process on 'pg-standby': could not connect to server: No such file or directory",
" \tIs the server running locally and accepting",
" \tconnections on Unix domain socket \"/var/run/postgresql/.s.PGSQL.5432\"?"
]
}
},
{
"key" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo --type=full backup"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo restore"
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
},
{
"key" : {
"file" : "/var/lib/pgsql/9.6/data/postgresql.conf",
"host" : "pg-standby",
"option" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"hot_standby" : {
"value" : "on"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"hot_standby = on"
]
}
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
{
"key" : {
"cmd" : [
"sudo service postgresql-9.6 start"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo check"
],
"host" : "pg-standby",
"output" : true
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "repository",
"option" : {
v1.09: 9.6 Support, Configurability, and Bug Fixes Bug Fixes: * Fixed the check command to prevent an error message from being logged if the backup directory does not exist. (Fixed by Cynthia Shang.) * Fixed error message to properly display the archive command when an invalid archive command is detected. (Reported by Jason O'Donnell.) * Fixed an issue where the async archiver would not be started if archive-push did not have enough space to queue a new WAL segment. This meant that the queue would never be cleared without manual intervention (such as calling archive-push directly). PostgreSQL now receives errors when there is not enough space to store new WAL segments but the async process will still be started so that space is eventually freed. (Reported by Jens Wilke.) * Fixed a remote timeout that occurred when a local process generated checksums (during resume or restore) but did not copy files, allowing the remote to go idle. (Reported by Jens Wilke.) Features: * Non-exclusive backups will automatically be used on PostgreSQL 9.6. * Added the cmd-ssh option to allow the ssh client to be specified. (Suggested by Jens Wilke.) * Added the log-level-stderr option to control whether console log messages are sent to stderr or stdout. By default this is set to warn which represents a change in behavior from previous versions, even though it may be more intuitive. Setting log-level-stderr=off will preserve the old behavior. (Suggested by Sascha Biberhofer.) * Set application_name to "pgBackRest [command]" for database connections. (Suggested by Jens Wilke.) * Check that archive_mode is enabled when archive-check option enabled. Refactoring: * Clarified error message when unable to acquire pgBackRest advisory lock to make it clear that it is not a PostgreSQL backup lock. (Suggested by Jens Wilke.) * pgBackRest version number included in command start INFO log output. * Process ID logged for local process start/stop INFO log output.
2016-10-10 23:35:58 +02:00
"global" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"backup-standby" : {
"value" : "y"
v1.09: 9.6 Support, Configurability, and Bug Fixes Bug Fixes: * Fixed the check command to prevent an error message from being logged if the backup directory does not exist. (Fixed by Cynthia Shang.) * Fixed error message to properly display the archive command when an invalid archive command is detected. (Reported by Jason O'Donnell.) * Fixed an issue where the async archiver would not be started if archive-push did not have enough space to queue a new WAL segment. This meant that the queue would never be cleared without manual intervention (such as calling archive-push directly). PostgreSQL now receives errors when there is not enough space to store new WAL segments but the async process will still be started so that space is eventually freed. (Reported by Jens Wilke.) * Fixed a remote timeout that occurred when a local process generated checksums (during resume or restore) but did not copy files, allowing the remote to go idle. (Reported by Jens Wilke.) Features: * Non-exclusive backups will automatically be used on PostgreSQL 9.6. * Added the cmd-ssh option to allow the ssh client to be specified. (Suggested by Jens Wilke.) * Added the log-level-stderr option to control whether console log messages are sent to stderr or stdout. By default this is set to warn which represents a change in behavior from previous versions, even though it may be more intuitive. Setting log-level-stderr=off will preserve the old behavior. (Suggested by Sascha Biberhofer.) * Set application_name to "pgBackRest [command]" for database connections. (Suggested by Jens Wilke.) * Check that archive_mode is enabled when archive-check option enabled. Refactoring: * Clarified error message when unable to acquire pgBackRest advisory lock to make it clear that it is not a PostgreSQL backup lock. (Suggested by Jens Wilke.) * pgBackRest version number included in command start INFO log output. * Process ID logged for local process start/stop INFO log output.
2016-10-10 23:35:58 +02:00
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-host-user=postgres",
"pg1-path=/var/lib/pgsql/9.6/data",
"pg2-host=pg-standby",
"pg2-host-user=postgres",
"pg2-path=/var/lib/pgsql/9.6/data",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"",
"[global]",
"backup-standby=y",
"process-max=3",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"start-fast=y"
]
}
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
}
]
}
},
"default" : {
"all" : {
"user-guide" : [
{
"key" : {
"id" : "s3",
"image" : "pgbackrest/test:u16-s3-server",
"name" : "s3-server",
"os" : "u16"
},
"type" : "host",
"value" : {
"ip" : "172.17.0.2"
}
},
{
"key" : {
"id" : "pg1",
"image" : "pgbackrest/test:u16-base",
"name" : "pg-primary",
"os" : "u16"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
},
"type" : "host",
"value" : {
"ip" : "172.17.0.3"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
}
},
{
"key" : {
"cmd" : [
"sudo rm -f /usr/bin/pgbackrest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm -f /usr/bin/pg_backrest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm -rf /usr/lib/perl5/BackRest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm -rf /usr/share/perl5/BackRest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm -rf /usr/lib/perl5/pgBackRest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm -rf /usr/share/perl5/pgBackRest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo apt-get install libdbd-pg-perl libio-socket-ssl-perl libxml-libxml-perl"
],
"cmd-extra" : "-y 2>&1",
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo mkdir /root/pgbackrest-release-2.01"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/build /root/pgbackrest-release-2.01"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"cmd" : [
"sudo cp -r /backrest/lib /root/pgbackrest-release-2.01"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
},
{
"key" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"cmd" : [
"sudo cp -r /backrest/libc /root/pgbackrest-release-2.01"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/src /root/pgbackrest-release-2.01"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /root/pgbackrest-release-2.01/lib/pgBackRest \\",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
" /usr/share/perl5"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo find /usr/share/perl5/pgBackRest -type f -exec chmod 644 {} +"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
},
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo find /usr/share/perl5/pgBackRest -type d -exec chmod 755 {} +"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
},
{
"key" : {
"cmd" : [
"sudo mkdir -m 770 /var/log/pgbackrest"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown postgres:postgres /var/log/pgbackrest"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo touch /etc/pgbackrest.conf"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chmod 640 /etc/pgbackrest.conf"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown postgres:postgres /etc/pgbackrest.conf"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo sh -c 'cd /root/pgbackrest-release-2.01/libc && \\",
" perl Makefile.PL INSTALLMAN1DIR=none INSTALLMAN3DIR=none'"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/libc test"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/libc install"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/src"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/src install"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"pgBackRest 2.01 - General help",
"",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"Usage:",
" pgbackrest [options] [command]",
"",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"Commands:",
" archive-get Get a WAL segment from the archive.",
" archive-push Push a WAL segment to the archive.",
" backup Backup a database cluster.",
" check Check the configuration.",
" expire Expire backups that exceed retention.",
" help Get help.",
" info Retrieve information about backups.",
" restore Restore a database cluster.",
" stanza-create Create the required stanza data.",
" stanza-delete Delete a stanza.",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
" stanza-upgrade Upgrade a stanza.",
" start Allow pgBackRest processes to run.",
" stop Stop pgBackRest processes from running.",
" version Get version.",
"",
"Use 'pgbackrest help [command]' for more information."
]
}
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo -u postgres /usr/lib/postgresql/9.4/bin/initdb \\",
" -D /var/lib/postgresql/9.4/demo -k -A peer"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo pg_createcluster 9.4 demo"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"Configuring already existing cluster (configuration: /etc/postgresql/9.4/demo, data: /var/lib/postgresql/9.4/demo, owner: 5000:5000)",
"Ver Cluster Port Status Owner Data directory Log file",
"9.4 demo 5432 down postgres /var/lib/postgresql/9.4/demo /var/log/postgresql/postgresql-9.4-demo.log"
]
}
},
{
"key" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"file" : "/etc/postgresql/9.4/demo/postgresql.conf",
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"listen_addresses" : {
"value" : "'*'"
}
}
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'"
]
}
},
{
"key" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"file" : "/etc/postgresql/9.4/demo/postgresql.conf",
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"log_line_prefix" : {
"value" : "''"
}
}
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "cfg-postgresql",
"value" : {
"config" : [
"listen_addresses = '*'",
"log_line_prefix = ''"
]
}
},
{
"key" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"demo" : {
"pg1-path" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"value" : "/var/lib/postgresql/9.4/demo"
}
},
"global" : {
"log-level-stderr" : {
"value" : "off"
},
"log-timestamp" : {
"value" : "n"
}
}
}
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo mkdir /var/lib/pgbackrest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo chmod 750 /var/lib/pgbackrest"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo chown postgres:postgres /var/lib/pgbackrest"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-path" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"value" : "/var/lib/pgbackrest"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
"",
"[global]",
"repo1-path=/var/lib/pgbackrest"
]
}
},
{
"key" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"file" : "/etc/postgresql/9.4/demo/postgresql.conf",
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"archive_command" : {
"value" : "'pgbackrest --stanza=demo archive-push %p'"
},
"archive_mode" : {
"value" : "on"
},
"max_wal_senders" : {
"value" : "3"
},
"wal_level" : {
"value" : "hot_standby"
}
}
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "cfg-postgresql",
"value" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"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" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo pg_ctlcluster 9.4 demo restart"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-retention-full" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"value" : "2"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
"",
"[global]",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-cipher-pass" : {
"value" : "zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO"
},
"repo1-cipher-type" : {
"value" : "aes-256-cbc"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
"",
"[global]",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2"
]
}
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-create"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"completed successfully"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: stanza-create command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"P00 INFO: stanza-create command end: completed successfully"
]
}
},
{
"key" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --log-level-console=info check"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
" successfully stored in the archive at "
]
},
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe",
"value" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : [
"P00 INFO: check command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --stanza=demo",
"P00 INFO: WAL segment 000000010000000000000001 successfully stored in the archive at '/var/lib/pgbackrest/archive/demo/9.4-1/0000000100000000/000000010000000000000001-3543f1551a7643d0892c0a27fddef588f24fc1c1.gz'",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"P00 INFO: check command end: completed successfully"
]
}
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo -u postgres pgbackrest --stanza=demo \\",
" --log-level-console=info backup"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"no prior backup exists|full backup size"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"P00 WARN: no prior backup exists, incr backup has been changed to full",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:13:05\": backup begins after the next regular checkpoint completes",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"P00 INFO: backup start archive = 000000010000000000000002, lsn = 0/2000028",
" [filtered 754 lines of output]",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"P01 INFO: backup file /var/lib/postgresql/9.4/demo/base/1/11895 (0B, 100%)",
"P01 INFO: backup file /var/lib/postgresql/9.4/demo/base/1/11885 (0B, 100%)",
"P00 INFO: full backup size = 19.2MB",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"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 -5 | head -1"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"20180320-001305F"
]
}
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo -u postgres pgbackrest --stanza=demo --type=diff \\",
" --log-level-console=info backup"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"diff backup size"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
" [filtered 4 lines of output]",
"P01 INFO: backup file /var/lib/postgresql/9.4/demo/global/pg_control (8KB, 97%) checksum d64c883c4b0664ab2528bf7e6f1df82cc48b0308",
"P01 INFO: backup file /var/lib/postgresql/9.4/demo/backup_label (236B, 100%) checksum ff8e781310f038470e768e41c0fbae409a987cbd",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"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 = 000000010000000000000004, lsn = 0/40000F0",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
" [filtered 4 lines of output]"
]
}
},
{
"key" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"cmd" : [
"sudo -u postgres pgbackrest info"
],
"highlight" : {
"filter" : false,
"filter-context" : 2,
"list" : [
"(full|incr|diff) backup"
]
},
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe",
"value" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : [
"stanza: demo",
" status: ok",
"",
" db (current)",
" wal archive min/max (9.4-1): 000000010000000000000002 / 000000010000000000000004",
"",
" full backup: 20180320-001305F",
" timestamp start/stop: 2018-03-20 00:13:05 / 2018-03-20 00:13:10",
" wal start/stop: 000000010000000000000002 / 000000010000000000000002",
" database size: 19.2MB, backup size: 19.2MB",
" repository size: 2.2MB, repository backup size: 2.2MB",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"",
" diff backup: 20180320-001305F_20180320-001311D",
" timestamp start/stop: 2018-03-20 00:13:11 / 2018-03-20 00:13:14",
" wal start/stop: 000000010000000000000004 / 000000010000000000000004",
" database size: 19.2MB, backup size: 8.2KB",
" repository size: 2.2MB, repository backup size: 400B",
" backup reference list: 20180320-001305F"
]
}
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo pg_ctlcluster 9.4 demo stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo -u postgres rm /var/lib/postgresql/9.4/demo/global/pg_control"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo start"
],
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"err-expect" : "1",
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"could not find the database system"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"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 2"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo -u postgres find /var/lib/postgresql/9.4/demo -mindepth 1 -delete"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo restore"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo start"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"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" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"backup begins after the next regular checkpoint completes"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --type=incr",
"P00 INFO: last backup label = 20180320-001305F_20180320-001311D, version = 2.01",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:13:26\": 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/pg_multixact/offsets/0000 (8KB, 33%) checksum 0631457264ff7f8d5fb1edc2c0211992a67c73e6",
" [filtered 10 lines of output]"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"option" : {
"global" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"start-fast" : {
"value" : "y"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"",
"[global]",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"start-fast=y"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
]
}
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo -u postgres pgbackrest --stanza=demo --type=incr \\",
" --log-level-console=info backup"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
],
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"backup begins after the requested immediate checkpoint completes"
]
},
"host" : "pg-primary",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --start-fast --type=incr",
"P00 INFO: last backup label = 20180320-001305F_20180320-001326I, version = 2.01",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:13:30\": 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 33dfd47798b7959b0e8de89de53938b29672ffae",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
" [filtered 8 lines of output]"
]
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
}
},
{
"key" : {
"cmd" : [
"sudo chmod 550 /var/lib/pgbackrest/backup/demo/"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
],
"host" : "pg-primary",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo -u postgres pgbackrest --stanza=demo --type=incr \\",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
" --log-level-console=info backup"
],
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"err-expect" : "47",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"ERROR:"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
]
},
"host" : "pg-primary",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
" [filtered 2 lines of output]",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:13:34\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000020000000000000008, lsn = 0/8000028",
"P00 ERROR: [047]: unable to create path '/var/lib/pgbackrest/backup/demo/20180320-001305F_20180320-001334I': Permission denied",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"P00 INFO: backup command end: aborted with exception [047]"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo chmod 750 /var/lib/pgbackrest/backup/demo/"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo -u postgres pgbackrest --stanza=demo --type=incr \\",
" --log-level-console=info backup"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
],
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"err-expect" : "57",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"ERROR:"
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
]
},
"host" : "pg-primary",
v1.07: Thread to Process Conversion and Bug Fixes Bug Fixes: * Fixed an issue where tablespaces were copied from the master during standby backup. * Fixed the check command so backup info is checked remotely and not just locally. (Fixed by Cynthia Shang.) * Fixed an issue where retention-archive was not automatically being set when retention-archive-type=diff, resulting in a less aggressive than intended expiration of archive. (Fixed by Cynthia Shang.) Features: * Converted Perl threads to processes to improve compatibility and performance. * Exclude contents of $PGDATA/pg_replslot directory so that replication slots on the master do not become part of the backup. * The archive-start and archive-stop settings are now filled in backup.manifest even when archive-check=n. * Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention. (Contributed by Cynthia Shang.) * Experimental support for non-exclusive backups in PostgreSQL 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Refactor of protocol minions in preparation for the new local minion. * Remove obsolete thread index variable from File() module. * Changed temporary file names to consistently use the .pgbackrest.tmp extension even if the destination file is compressed or has an appended checksum. * Improve ASSERT error handling, safely check eval blocks, and convert $@ to $EVAL_ERROR.
2016-09-07 14:29:21 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --start-fast --type=incr",
"P00 INFO: last backup label = 20180320-001305F_20180320-001330I, version = 2.01",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:13:36\": backup begins after the requested immediate checkpoint completes",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"P00 ERROR: [057]: ERROR: a backup is already in progress",
" HINT: Run pg_stop_backup() and try again.:",
" select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS.US TZ'), pg_xlogfile_name(lsn), lsn::text from pg_start_backup('pgBackRest backup started at 2018-03-20 00:13:36', true) as lsn"
]
}
},
{
"key" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"global" : {
"stop-auto" : {
"value" : "y"
}
}
}
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"",
"[global]",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo --start-fast --stop-auto --type=incr",
"P00 INFO: last backup label = 20180320-001305F_20180320-001330I, version = 2.01",
"P00 WARN: the cluster is already in backup mode but no pgBackRest backup process is running. pg_stop_backup() will be called so a new backup can be started.",
"P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:13:38\": 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 2bb3f7cb57a717f41bc60542ea8e629a22410a70",
" [filtered 8 lines of output]"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-retention-full" : {
"value" : "2"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
"",
"[global]",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
"start-fast=y",
"stop-auto=y"
]
}
},
{
"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 20180320-001305F|remove archive"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 763 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.01: --log-level-console=detail --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo",
"P00 DETAIL: archive retention on backup 20180320-001305F, archiveId = 9.4-1, start = 000000010000000000000002",
"P00 DETAIL: no archive to remove, archiveId = 9.4-1",
"P00 INFO: expire command end: completed successfully"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"20180320-001343F"
]
}
},
{
"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\\: 20180320-001305F|archive retention on backup 20180320-001343F|remove archive"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 763 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-full=2 --stanza=demo",
"P00 INFO: expire full backup set: 20180320-001305F, 20180320-001305F_20180320-001311D, 20180320-001305F_20180320-001326I, 20180320-001305F_20180320-001330I, 20180320-001305F_20180320-001338I",
"P00 INFO: remove expired backup 20180320-001305F_20180320-001338I",
"P00 INFO: remove expired backup 20180320-001305F_20180320-001330I",
" [filtered 3 lines of output]"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-retention-diff" : {
"value" : "1"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
"",
"[global]",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-diff=1",
"repo1-retention-full=2",
"start-fast=y",
"stop-auto=y"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --type=diff backup"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"20180320-001349F_20180320-001356D"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --type=incr backup"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --type=diff \\",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
" --log-level-console=info backup"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"expire diff backup set: 20180320-001349F_20180320-001356D"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 10 lines of output]",
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-diff=1 --repo1-retention-full=2 --stanza=demo",
"P00 INFO: expire diff backup set: 20180320-001349F_20180320-001356D, 20180320-001349F_20180320-001401I",
"P00 INFO: remove expired backup 20180320-001349F_20180320-001401I",
"P00 INFO: remove expired backup 20180320-001349F_20180320-001356D"
]
}
},
{
"key" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"global" : {
"repo1-retention-diff" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"value" : "2"
}
}
}
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"",
"[global]",
"repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO",
"repo1-cipher-type=aes-256-cbc",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-diff=2",
"repo1-retention-full=2",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"start-fast=y",
"stop-auto=y"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"20180320-001349F_20180320-001405D"
]
}
},
{
"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" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --type=diff \\",
" --log-level-console=info backup"
],
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"new backup label"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
},
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"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 = 20180320-001349F_20180320-001410D",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"P00 INFO: backup command end: completed successfully",
"P00 INFO: expire command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-diff=2 --repo1-retention-full=2 --stanza=demo"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres ls -1 /var/lib/pgbackrest/backup/demo | tail -5 | head -1"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"20180320-001349F_20180320-001410D"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --log-level-console=detail \\",
" --repo1-retention-archive-type=diff --repo1-retention-archive=1 expire"
],
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"archive retention on backup 20180320-001349F_20180320-001405D|remove archive"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: expire command begin 2.01: --log-level-console=detail --log-level-stderr=off --no-log-timestamp --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=/var/lib/pgbackrest --repo1-retention-archive=1 --repo1-retention-archive-type=diff --repo1-retention-diff=2 --repo1-retention-full=2 --stanza=demo",
"P00 DETAIL: archive retention on backup 20180320-001343F, archiveId = 9.4-1, start = 00000002000000000000000A, stop = 00000002000000000000000A",
"P00 DETAIL: archive retention on backup 20180320-001349F, archiveId = 9.4-1, start = 00000002000000000000000B, stop = 00000002000000000000000B",
"P00 DETAIL: archive retention on backup 20180320-001349F_20180320-001405D, archiveId = 9.4-1, start = 00000002000000000000000E, stop = 00000002000000000000000E",
"P00 DETAIL: archive retention on backup 20180320-001349F_20180320-001410D, archiveId = 9.4-1, start = 000000020000000000000012",
"P00 DETAIL: remove archive: archiveId = 9.4-1, start = 00000002000000000000000C, stop = 00000002000000000000000D",
"P00 DETAIL: remove archive: archiveId = 9.4-1, start = 00000002000000000000000F, stop = 000000020000000000000011",
"P00 INFO: expire command end: completed successfully"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo stop"
],
"host" : "pg-primary",
"output" : false
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
},
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"value" : {
"output" : [
" [filtered 692 lines of output]",
"P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/base/12134/PG_VERSION - exists and matches backup (4B, 99%) checksum 8dbabb96e032b8d9f1993c0e4b9141e71ade01a1",
"P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/base/1/PG_VERSION - exists and matches backup (4B, 99%) checksum 8dbabb96e032b8d9f1993c0e4b9141e71ade01a1",
"P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/PG_VERSION - exists and matches backup (4B, 100%) checksum 8dbabb96e032b8d9f1993c0e4b9141e71ade01a1",
"P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/global/12086 - exists and is zero size (0B, 100%)",
"P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/global/12038 - exists and is zero size (0B, 100%)",
" [filtered 83 lines of output]",
"P01 DETAIL: restore file /var/lib/postgresql/9.4/demo/base/1/11885 - exists and is zero size (0B, 100%)",
"P00 INFO: write /var/lib/postgresql/9.4/demo/recovery.conf",
"P00 INFO: restore global/pg_control (performed last to ensure aborted restores cannot be started)",
"P00 INFO: restore command end: completed successfully"
]
}
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres psql -c \"create database test1;\""
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"CREATE DATABASE"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres psql -c \"create database test2;\""
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"CREATE DATABASE"
]
}
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo -u postgres pgbackrest --stanza=demo --type=incr backup"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres psql -c \"create table test1_table (id int); \\",
" insert into test1_table (id) values (1);\" test1"
],
"host" : "pg-primary",
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"value" : {
"output" : [
"INSERT 0 1"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres du -sh /var/lib/postgresql/9.4/demo/base/16384"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe",
"value" : {
"output" : [
"6.4M\t/var/lib/postgresql/9.4/demo/base/16384"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --delta \\",
" --db-include=test2 restore"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres psql -c \"select * from test2_table;\" test2"
],
"host" : "pg-primary",
"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" : "pg-primary",
"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" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe",
"value" : {
"output" : [
"152K\t/var/lib/postgresql/9.4/demo/base/16384"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres psql -c \"drop database test1;\""
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"DROP DATABASE"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres psql -c \"select oid, datname from pg_database order by oid;\""
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"highlight" : {
"filter" : false,
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"filter-context" : 2,
"list" : [
"test2"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
},
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" oid | datname ",
"-------+-----------",
" 1 | template1",
" 12134 | template0",
" 12139 | postgres",
" 16385 | test2",
"(4 rows)"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --type=diff backup"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"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;\""
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"Important Data"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
},
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" message ",
"----------------",
" Important Data",
"(1 row)"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres psql -Atc \"select current_timestamp\""
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"2018-03-20 00:14:45.019624+00"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres psql -c \"begin; \\",
" drop table important_table; \\",
" commit; \\",
" select * from important_table;\""
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"err-expect" : "1",
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"does not exist"
]
},
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"ERROR: relation \"important_table\" does not exist",
"LINE 1: ...le important_table; commit; select * from important_...",
" ^"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo stop"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --delta \\",
" --type=time \"--target=2018-03-20 00:14:45.019624+00\" restore"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-primary",
"output" : false
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
},
"type" : "exe"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
},
{
"key" : {
"cmd" : [
"sudo rm /var/log/postgresql/postgresql-9.4-demo.log"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-primary",
"output" : false
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
},
"type" : "exe"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
},
{
"key" : {
"cmd" : [
"sudo -u postgres cat /var/lib/postgresql/9.4/demo/recovery.conf"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"recovery_target_time"
]
},
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'",
"recovery_target_time = '2018-03-20 00:14:45.019624+00'"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo start"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"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" : "pg-primary",
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"LOG: database system was interrupted; last known up at 2018-03-20 00:14:40 UTC",
"LOG: starting point-in-time recovery to 2018-03-20 00:14:45.019624+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 2018-03-20 00:14:45.182277+00",
"LOG: redo done at 0/180157F0",
"LOG: last completed transaction was at log time 2018-03-20 00:14:44.86087+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" : "pg-primary",
"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 -5 | head -1"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"20180320-001349F_20180320-001439D"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --type=incr backup"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --delta \\",
" --type=time \"--target=2018-03-20 00:14:45.019624+00\" restore"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm /var/log/postgresql/postgresql-9.4-demo.log"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"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" : "pg-primary",
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"LOG: database system was interrupted; last known up at 2018-03-20 00:14:55 UTC",
"LOG: starting point-in-time recovery to 2018-03-20 00:14:45.019624+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: redo done at 0/190000F0",
"LOG: incomplete startup packet",
" [filtered 9 lines of output]"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest info"
],
"highlight" : {
"filter" : false,
"filter-context" : 2,
"list" : [
"20180320-001349F_20180320-001439D"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"stanza: demo",
" status: ok",
"",
" db (current)",
" wal archive min/max (9.4-1): 00000002000000000000000A / 000000050000000000000019",
"",
" full backup: 20180320-001343F",
" timestamp start/stop: 2018-03-20 00:13:43 / 2018-03-20 00:13:48",
" wal start/stop: 00000002000000000000000A / 00000002000000000000000A",
" database size: 19.2MB, backup size: 19.2MB",
" repository size: 2.2MB, repository backup size: 2.2MB",
"",
" full backup: 20180320-001349F",
" timestamp start/stop: 2018-03-20 00:13:49 / 2018-03-20 00:13:54",
" wal start/stop: 00000002000000000000000B / 00000002000000000000000B",
" database size: 19.2MB, backup size: 19.2MB",
" repository size: 2.2MB, repository backup size: 2.2MB",
"",
" diff backup: 20180320-001349F_20180320-001410D",
" timestamp start/stop: 2018-03-20 00:14:10 / 2018-03-20 00:14:13",
" wal start/stop: 000000020000000000000012 / 000000020000000000000012",
" database size: 19.2MB, backup size: 8.2KB",
" repository size: 2.2MB, repository backup size: 400B",
" backup reference list: 20180320-001349F",
"",
" incr backup: 20180320-001349F_20180320-001422I",
" timestamp start/stop: 2018-03-20 00:14:22 / 2018-03-20 00:14:27",
" wal start/stop: 000000030000000000000014 / 000000030000000000000014",
" database size: 31.7MB, backup size: 12.5MB",
" repository size: 3.7MB, repository backup size: 1.5MB",
" backup reference list: 20180320-001349F",
"",
" diff backup: 20180320-001349F_20180320-001439D",
" timestamp start/stop: 2018-03-20 00:14:39 / 2018-03-20 00:14:43",
" wal start/stop: 000000040000000000000017 / 000000040000000000000017",
" database size: 25.5MB, backup size: 6.3MB",
" repository size: 3MB, repository backup size: 771.6KB",
" backup reference list: 20180320-001349F",
"",
" incr backup: 20180320-001349F_20180320-001454I",
" timestamp start/stop: 2018-03-20 00:14:54 / 2018-03-20 00:14:57",
" wal start/stop: 000000050000000000000019 / 000000050000000000000019",
" database size: 25.5MB, backup size: 1.7MB",
" repository size: 3MB, repository backup size: 200.8KB",
" backup reference list: 20180320-001349F, 20180320-001349F_20180320-001439D"
]
}
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --delta \\",
" --type=time \"--target=2018-03-20 00:14:45.019624+00\" \\",
" --set=20180320-001349F_20180320-001439D restore"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo rm /var/log/postgresql/postgresql-9.4-demo.log"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"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" : "pg-primary",
"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" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"LOG: database system was interrupted; last known up at 2018-03-20 00:14:40 UTC",
"LOG: starting point-in-time recovery to 2018-03-20 00:14:45.019624+00",
"FATAL: the database system is starting up",
"LOG: restored log file \"00000004.history\" from archive",
" [filtered 3 lines of output]",
"LOG: incomplete startup packet",
"LOG: restored log file \"000000040000000000000018\" from archive",
"LOG: recovery stopping before commit of transaction 686, time 2018-03-20 00:14:45.182277+00",
"LOG: redo done at 0/180157F0",
"LOG: last completed transaction was at log time 2018-03-20 00:14:44.86087+00",
"LOG: restored log file \"00000005.history\" from archive",
"LOG: restored log file \"00000006.history\" from archive",
" [filtered 7 lines of output]"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"repo1-cipher-pass" : {},
"repo1-cipher-type" : {
"value" : "none"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
"",
"[global]",
"repo1-cipher-type=none",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-diff=2",
"repo1-retention-full=2",
"start-fast=y",
"stop-auto=y"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"global" : {
"process-max" : {
"value" : "4"
},
"repo1-path" : {
"value" : "/"
},
"repo1-s3-bucket" : {
"value" : "demo-bucket"
},
"repo1-s3-endpoint" : {
"value" : "s3.amazonaws.com"
},
"repo1-s3-key" : {
"value" : "accessKey1"
},
"repo1-s3-key-secret" : {
"value" : "verySecretKey1"
},
"repo1-s3-region" : {
"value" : "us-east-1"
},
"repo1-s3-verify-ssl" : {
"value" : "n"
},
"repo1-type" : {
"value" : "s3"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
"",
"[global]",
"process-max=4",
"repo1-cipher-type=none",
"repo1-path=/",
"repo1-retention-diff=2",
"repo1-retention-full=2",
"repo1-s3-bucket=demo-bucket",
"repo1-s3-endpoint=s3.amazonaws.com",
"repo1-s3-key=accessKey1",
"repo1-s3-key-secret=verySecretKey1",
"repo1-s3-region=us-east-1",
"repo1-s3-verify-ssl=n",
"repo1-type=s3",
"start-fast=y",
"stop-auto=y"
]
}
},
{
"key" : {
"cmd" : [
"sudo echo \"172.17.0.2 demo-bucket.s3.amazonaws.com s3.amazonaws.com\" | \\",
" sudo tee -a /etc/hosts"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"aws s3 --no-verify-ssl mb s3://demo-bucket 2>&1"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-create"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"completed successfully"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: stanza-create command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-cipher-type=none --repo1-path=/ --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=demo",
"P00 INFO: stanza-create command end: completed successfully"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo \\",
" --log-level-console=info backup"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"no prior backup exists|full backup size"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: backup command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --process-max=4 --repo1-cipher-type=none --repo1-path=/ --repo1-retention-diff=2 --repo1-retention-full=2 --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=demo --start-fast --stop-auto",
"P00 WARN: no prior backup exists, incr backup has been changed to full",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:15:18\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 000000070000000000000019, lsn = 0/19000028",
" [filtered 995 lines of output]",
"P02 INFO: backup file /var/lib/postgresql/9.4/demo/base/1/11905 (0B, 100%)",
"P03 INFO: backup file /var/lib/postgresql/9.4/demo/base/1/11907 (0B, 100%)",
"P00 INFO: full backup size = 25.5MB",
"P00 INFO: execute exclusive pg_stop_backup() and wait for all WAL segments to archive",
"P00 INFO: backup stop archive = 000000070000000000000019, lsn = 0/19000128",
" [filtered 4 lines of output]"
]
}
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stop"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"completed successfully"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: stop command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --repo1-cipher-type=none --repo1-path=/ --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=demo",
"P00 INFO: stop command end: completed successfully"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --log-level-console=info stanza-delete"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"completed successfully"
]
},
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: stanza-delete command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-cipher-type=none --repo1-path=/ --repo1-s3-bucket=demo-bucket --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=demo",
"P00 INFO: stanza-delete command end: completed successfully"
]
}
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"id" : "repo1",
"image" : "pgbackrest/test:u16-base",
"name" : "repository",
"os" : "u16"
},
"type" : "host",
"value" : {
"ip" : "172.17.0.4"
}
},
{
"key" : {
"cmd" : [
"sudo adduser --disabled-password --gecos \"\" pgbackrest"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo apt-get install libdbd-pg-perl libio-socket-ssl-perl libxml-libxml-perl"
],
"cmd-extra" : "-y 2>&1",
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo mkdir /root/pgbackrest-release-2.01"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/build /root/pgbackrest-release-2.01"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/lib /root/pgbackrest-release-2.01"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/libc /root/pgbackrest-release-2.01"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/src /root/pgbackrest-release-2.01"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /root/pgbackrest-release-2.01/lib/pgBackRest \\",
" /usr/share/perl5"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo find /usr/share/perl5/pgBackRest -type f -exec chmod 644 {} +"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo find /usr/share/perl5/pgBackRest -type d -exec chmod 755 {} +"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo mkdir -m 770 /var/log/pgbackrest"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown pgbackrest:pgbackrest /var/log/pgbackrest"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo touch /etc/pgbackrest.conf"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chmod 640 /etc/pgbackrest.conf"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown pgbackrest:pgbackrest /etc/pgbackrest.conf"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo sh -c 'cd /root/pgbackrest-release-2.01/libc && \\",
" perl Makefile.PL INSTALLMAN1DIR=none INSTALLMAN3DIR=none'"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/libc test"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/libc install"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/src"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/src install"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo mkdir /var/lib/pgbackrest"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chmod 750 /var/lib/pgbackrest"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown pgbackrest:pgbackrest /var/lib/pgbackrest"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest mkdir -m 750 /home/pgbackrest/.ssh"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest ssh-keygen -f /home/pgbackrest/.ssh/id_rsa \\",
" -t rsa -b 4096 -N \"\""
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres mkdir -m 750 -p /home/postgres/.ssh"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres ssh-keygen -f /home/postgres/.ssh/id_rsa \\",
" -t rsa -b 4096 -N \"\""
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo ssh root@pg-primary cat /home/postgres/.ssh/id_rsa.pub | \\",
" sudo -u pgbackrest tee -a /home/pgbackrest/.ssh/authorized_keys"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo ssh root@repository cat /home/pgbackrest/.ssh/id_rsa.pub | \\",
" sudo -u postgres tee -a /home/postgres/.ssh/authorized_keys"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest ssh postgres@pg-primary"
],
"cmd-extra" : "-o StrictHostKeyChecking=no ls",
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres ssh pgbackrest@repository"
],
"cmd-extra" : "-o StrictHostKeyChecking=no ls",
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "repository",
"option" : {
"global" : {
"repo1-path" : {
"value" : "/var/lib/pgbackrest"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[global]",
"repo1-path=/var/lib/pgbackrest"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "repository",
"option" : {
"demo" : {
"pg1-host" : {
"value" : "pg-primary"
},
"pg1-host-user" : {
v1.04: Various Bug Fixes Bug Fixes: * Fixed an issue an where an extraneous remote was created causing threaded backup/restore to possibly timeout and/or throw a lock conflict. (Reported by Michael Vitale.) * Fixed an issue where db-path was not required for the check command so an assert was raised when it was missing rather than a polite error message. (Reported by Michael Vitale.) * Fixed check command to throw an error when database version/id does not match that of the archive. (Fixed by Cynthia Shang.) * Fixed an issue where a remote could try to start its own remote when the backup-host option was not present in pgbackrest.conf on the database server. (Reported by Lardière Sébastien.) * Fixed an issue where the contents of pg_xlog were being backed up if the directory was symlinked. This didn't cause any issues during restore but was a waste of space. * Fixed an invalid log() call in lock routines. Features: * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta3. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Enhancements to the protocol layer for improved reliability and error handling. * All remote types now take locks. The exceptions date to when the test harness and pgBackRest were running in the same VM and no longer apply. * Exceptions are now passed back from threads as messages when possible rather than raised directly. * Temp files created during backup are now placed in the same directory as the target file. * Output lock file name when a lock cannot be acquired to aid in debugging. * Reduce calls to protocolGet() in backup/restore. * Suppress banners on SSH protocol connections. * Improved remote error messages to identify the host where the error was raised.
2016-07-30 15:42:35 +02:00
"value" : "postgres"
},
"pg1-path" : {
"value" : "/var/lib/postgresql/9.4/demo"
}
},
"global" : {
v1.09: 9.6 Support, Configurability, and Bug Fixes Bug Fixes: * Fixed the check command to prevent an error message from being logged if the backup directory does not exist. (Fixed by Cynthia Shang.) * Fixed error message to properly display the archive command when an invalid archive command is detected. (Reported by Jason O'Donnell.) * Fixed an issue where the async archiver would not be started if archive-push did not have enough space to queue a new WAL segment. This meant that the queue would never be cleared without manual intervention (such as calling archive-push directly). PostgreSQL now receives errors when there is not enough space to store new WAL segments but the async process will still be started so that space is eventually freed. (Reported by Jens Wilke.) * Fixed a remote timeout that occurred when a local process generated checksums (during resume or restore) but did not copy files, allowing the remote to go idle. (Reported by Jens Wilke.) Features: * Non-exclusive backups will automatically be used on PostgreSQL 9.6. * Added the cmd-ssh option to allow the ssh client to be specified. (Suggested by Jens Wilke.) * Added the log-level-stderr option to control whether console log messages are sent to stderr or stdout. By default this is set to warn which represents a change in behavior from previous versions, even though it may be more intuitive. Setting log-level-stderr=off will preserve the old behavior. (Suggested by Sascha Biberhofer.) * Set application_name to "pgBackRest [command]" for database connections. (Suggested by Jens Wilke.) * Check that archive_mode is enabled when archive-check option enabled. Refactoring: * Clarified error message when unable to acquire pgBackRest advisory lock to make it clear that it is not a PostgreSQL backup lock. (Suggested by Jens Wilke.) * pgBackRest version number included in command start INFO log output. * Process ID logged for local process start/stop INFO log output.
2016-10-10 23:35:58 +02:00
"log-level-stderr" : {
"value" : "off"
},
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"log-timestamp" : {
"value" : "n"
},
"repo1-retention-full" : {
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"value" : "2"
},
"start-fast" : {
"value" : "y"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-host-user=postgres",
"pg1-path=/var/lib/postgresql/9.4/demo",
"",
"[global]",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
"start-fast=y"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/postgresql/9.4/demo"
}
},
"global" : {
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"log-level-file" : {
"value" : "detail"
},
v1.09: 9.6 Support, Configurability, and Bug Fixes Bug Fixes: * Fixed the check command to prevent an error message from being logged if the backup directory does not exist. (Fixed by Cynthia Shang.) * Fixed error message to properly display the archive command when an invalid archive command is detected. (Reported by Jason O'Donnell.) * Fixed an issue where the async archiver would not be started if archive-push did not have enough space to queue a new WAL segment. This meant that the queue would never be cleared without manual intervention (such as calling archive-push directly). PostgreSQL now receives errors when there is not enough space to store new WAL segments but the async process will still be started so that space is eventually freed. (Reported by Jens Wilke.) * Fixed a remote timeout that occurred when a local process generated checksums (during resume or restore) but did not copy files, allowing the remote to go idle. (Reported by Jens Wilke.) Features: * Non-exclusive backups will automatically be used on PostgreSQL 9.6. * Added the cmd-ssh option to allow the ssh client to be specified. (Suggested by Jens Wilke.) * Added the log-level-stderr option to control whether console log messages are sent to stderr or stdout. By default this is set to warn which represents a change in behavior from previous versions, even though it may be more intuitive. Setting log-level-stderr=off will preserve the old behavior. (Suggested by Sascha Biberhofer.) * Set application_name to "pgBackRest [command]" for database connections. (Suggested by Jens Wilke.) * Check that archive_mode is enabled when archive-check option enabled. Refactoring: * Clarified error message when unable to acquire pgBackRest advisory lock to make it clear that it is not a PostgreSQL backup lock. (Suggested by Jens Wilke.) * pgBackRest version number included in command start INFO log output. * Process ID logged for local process start/stop INFO log output.
2016-10-10 23:35:58 +02:00
"log-level-stderr" : {
"value" : "off"
},
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"log-timestamp" : {
"value" : "n"
},
"repo1-host" : {
"value" : "repository"
}
}
},
"reset" : true
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
"",
"[global]",
"log-level-file=detail",
"repo1-host=repository"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo stanza-create"
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
],
"host" : "repository",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"output" : true
},
"type" : "exe"
},
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo check"
],
"host" : "pg-primary",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : true
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo check"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
],
"host" : "repository",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : true
},
v1.09: 9.6 Support, Configurability, and Bug Fixes Bug Fixes: * Fixed the check command to prevent an error message from being logged if the backup directory does not exist. (Fixed by Cynthia Shang.) * Fixed error message to properly display the archive command when an invalid archive command is detected. (Reported by Jason O'Donnell.) * Fixed an issue where the async archiver would not be started if archive-push did not have enough space to queue a new WAL segment. This meant that the queue would never be cleared without manual intervention (such as calling archive-push directly). PostgreSQL now receives errors when there is not enough space to store new WAL segments but the async process will still be started so that space is eventually freed. (Reported by Jens Wilke.) * Fixed a remote timeout that occurred when a local process generated checksums (during resume or restore) but did not copy files, allowing the remote to go idle. (Reported by Jens Wilke.) Features: * Non-exclusive backups will automatically be used on PostgreSQL 9.6. * Added the cmd-ssh option to allow the ssh client to be specified. (Suggested by Jens Wilke.) * Added the log-level-stderr option to control whether console log messages are sent to stderr or stdout. By default this is set to warn which represents a change in behavior from previous versions, even though it may be more intuitive. Setting log-level-stderr=off will preserve the old behavior. (Suggested by Sascha Biberhofer.) * Set application_name to "pgBackRest [command]" for database connections. (Suggested by Jens Wilke.) * Check that archive_mode is enabled when archive-check option enabled. Refactoring: * Clarified error message when unable to acquire pgBackRest advisory lock to make it clear that it is not a PostgreSQL backup lock. (Suggested by Jens Wilke.) * pgBackRest version number included in command start INFO log output. * Process ID logged for local process start/stop INFO log output.
2016-10-10 23:35:58 +02:00
"type" : "exe"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo backup"
],
"host" : "repository",
"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" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --delta restore"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo backup"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
{
"key" : {
"cmd" : [
"sudo mkdir -m 750 /var/spool/pgbackrest"
],
"host" : "pg-primary",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown postgres:postgres /var/spool/pgbackrest"
],
"host" : "pg-primary",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"option" : {
"global" : {
"archive-async" : {
"value" : "y"
},
"spool-path" : {
"value" : "/var/spool/pgbackrest"
}
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
},
"global:archive-push" : {
"process-max" : {
"value" : "2"
}
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"",
"[global]",
"archive-async=y",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"log-level-file=detail",
"repo1-host=repository",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"spool-path=/var/spool/pgbackrest",
"",
"[global:archive-push]",
"process-max=2"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
]
}
},
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
{
"key" : {
"cmd" : [
"sudo -u postgres rm -f /var/log/pgbackrest/demo-archive-async.log"
],
"host" : "pg-primary",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"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" : "pg-primary",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"output" : false
},
"type" : "exe"
},
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --log-level-console=info check"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"WAL segment"
]
},
"host" : "pg-primary",
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: check command begin 2.01: --log-level-console=info --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-host=repository --stanza=demo",
"P00 INFO: WAL segment 000000080000000000000026 successfully stored in the archive at '/var/lib/pgbackrest/archive/demo/9.4-1/0000000800000000/000000080000000000000026-9dd1f997ce8f9211974d215e29cf5a8b855d92b3.gz'",
v1.12: Page Checksums, Configuration, and Bug Fixes IMPORTANT NOTE: In prior releases it was possible to specify options on the command-line that were invalid for the current command without getting an error. An error will now be generated for invalid options so it is important to carefully check command-line options in your environment to prevent disruption. Bug Fixes: * Fixed an issue where options that were invalid for the specified command could be provided on the command-line without generating an error. The options were ignored and did not cause any change in behavior, but it did lead to some confusion. Invalid options will now generate an error. (Reported by Nikhilchandra Kulkarni.) * Fixed an issue where internal symlinks were not being created for tablespaces in the repository. This issue was only apparent when trying to bring up clusters in-place manually using filesystem snapshots and did not affect normal backup and restore. * Fixed an issue that prevented errors from being output to the console before the logging system was initialized, i.e. while parsing options. Error codes were still being returned accurately so this would not have made a process look like it succeeded when it did not. (Reported by Adrian Vondendriesch.) * Fixed an issue where the db-port option specified on the backup server would not be properly passed to the remote unless it was from the first configured database. (Reported by Michael Vitale.) Features: * Added the --checksum-page option to allow pgBackRest to validate page checksums in data files when checksums are enabled on PostgreSQL >= 9.3. Note that this functionality requires a C library which may not initially be available in OS packages. The option will automatically be enabled when the library is present and checksums are enabled on the cluster. (Suggested by Stephen Frost.) * Added the --repo-link option to allow internal symlinks to be suppressed when the repository is located on a filesystem that does not support symlinks. This does not affect any pgBackRest functionality, but the convenience link latest will not be created and neither will internal tablespace symlinks, which will affect the ability to bring up clusters in-place manually using filesystem snapshots. * Added the --repo-sync option to allow directory syncs in the repository to be disabled for file systems that do not support them, e.g. NTFS. * Added a predictable log entry to signal that a command has completed successfully. For example a backup ends successfully with: INFO: backup command end: completed successfully. (Suggested by Jens Wilke.) Refactoring: * Abstracted code to determine which database cluster is the master and which are standbys. (Contributed by Cynthia Shang.) * Improved consistency and flexibility of the protocol layer by using JSON for all messages. * File copy protocol now accepts a function that can do additional processing on the copy buffers and return a result to the calling process. * Improved IO->bufferRead to always return requested number of bytes until EOF. * For simplicity, the pg_control file is now copied with the rest of the files instead of by itself of at the end of the process. The backup command does not require this behavior and the restore copies to a temporary file which is renamed at the end of the restore. * Simplified the result hash of File->manifest(), Db->tablespaceMapGet(), and Db->databaseMapGet(). * Improved errors returned from child processes by removing redundant error level and code. * Code cleanup in preparation for improved stanza-create command. (Contributed by Cynthia Shang.) * Improved parameter/result logging in debug/trace functions.
2016-12-13 02:18:27 +02:00
"P00 INFO: check command end: completed successfully"
v1.03: Check Command and Bug Fixes Bug Fixes: * Fixed an issue where keep-alives could be starved out by lots of small files during multi-threaded backup. They were also completely absent from single/multi-threaded backup resume and restore checksumming. (Reported by Janice Parkinson, Chris Barber.) * Fixed an issue where the expire command would refuse to run when explicitly called from the command line if the db-host option was set. This was not an issue when expire was run automatically after a backup (Reported by Chris Barber.) * Fixed an issue where validation was being running on archive_command even when the archive-check option was disabled. Features: * Added check command to validate that pgBackRest is configured correctly for archiving and backups. (Contributed by Cynthia Shang.) * Added the protocol-timeout option. Previously protocol-timeout was set as db-timeout + 30 seconds. * Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher protocol-timeout. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * The pg_xlogfile_name() function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed. * Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the backup-host and db-host options which are used to determine locality. * Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name. * Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.
2016-07-02 16:22:52 +02:00
]
}
},
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
{
"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" : "pg-primary",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push command begin 2.01: --archive-async --log-level-console=warn --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 3 WAL file(s) to archive: 000000080000000000000021...000000080000000000000023",
"P02 DETAIL: pushed WAL file 000000080000000000000022 to archive",
"P01 DETAIL: pushed WAL file 000000080000000000000021 to archive",
"P02 DETAIL: pushed WAL file 000000080000000000000023 to archive",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"P00 INFO: archive-push command end: completed successfully",
"",
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push command begin 2.01: --archive-async --log-level-console=warn --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 2 WAL file(s) to archive: 000000080000000000000024...000000080000000000000025",
"P02 DETAIL: pushed WAL file 000000080000000000000025 to archive",
"P01 DETAIL: pushed WAL file 000000080000000000000024 to archive",
"P00 INFO: archive-push command end: completed successfully",
"",
"-------------------PROCESS START-------------------",
"P00 INFO: archive-push command begin 2.01: --archive-async --log-level-console=warn --log-level-file=detail --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --process-max=2 --repo1-host=repository --spool-path=/var/spool/pgbackrest --stanza=demo",
"P00 INFO: push 1 WAL file(s) to archive: 000000080000000000000026",
"P01 DETAIL: pushed WAL file 000000080000000000000026 to archive",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"P00 INFO: archive-push command end: completed successfully"
]
}
},
{
"key" : {
"cmd" : [
"sudo lscpu"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"^CPU\\(s\\)\\:"
]
},
"host" : "repository",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"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 17 lines of output]"
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo --type=full backup"
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
],
"host" : "repository",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "repository",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"option" : {
"global" : {
"process-max" : {
"value" : "3"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-host-user=postgres",
"pg1-path=/var/lib/postgresql/9.4/demo",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"",
"[global]",
"process-max=3",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"start-fast=y"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo --type=full backup"
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
],
"host" : "repository",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest info"
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
],
"highlight" : {
"filter" : false,
"filter-context" : 2,
"list" : [
"timestamp start/stop"
]
},
"host" : "repository",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"stanza: demo",
" status: ok",
"",
" db (current)",
" wal archive min/max (9.4-1): 000000080000000000000028 / 000000080000000000000029",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"",
" full backup: 20180320-001642F",
" timestamp start/stop: 2018-03-20 00:16:42 / 2018-03-20 00:16:50",
" wal start/stop: 000000080000000000000028 / 000000080000000000000028",
" database size: 25.5MB, backup size: 25.5MB",
" repository size: 3MB, repository backup size: 3MB",
"",
" full backup: 20180320-001652F",
" timestamp start/stop: 2018-03-20 00:16:52 / 2018-03-20 00:16:59",
" wal start/stop: 000000080000000000000029 / 000000080000000000000029",
" database size: 25.5MB, backup size: 25.5MB",
" repository size: 3MB, repository backup size: 3MB"
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo backup"
],
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"err-expect" : "62",
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"\\: stop file exists for all stanzas"
]
},
"host" : "repository",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 ERROR: [062]: raised from remote process on 'pg-primary': stop file exists for all stanzas"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest stop"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 WARN: stop file already exists for all stanzas"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo stop"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo backup"
],
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"err-expect" : "62",
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"\\: stop file exists for stanza demo"
]
},
"host" : "repository",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 ERROR: [062]: raised from remote process on 'pg-primary': stop file exists for stanza demo"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo start"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"id" : "pg2",
"image" : "pgbackrest/test:u16-base",
"name" : "pg-standby",
"os" : "u16"
},
"type" : "host",
"value" : {
"ip" : "172.17.0.5"
}
},
{
"key" : {
"cmd" : [
"sudo apt-get install libdbd-pg-perl libio-socket-ssl-perl libxml-libxml-perl"
],
"cmd-extra" : "-y 2>&1",
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo mkdir /root/pgbackrest-release-2.01"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/build /root/pgbackrest-release-2.01"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/lib /root/pgbackrest-release-2.01"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/libc /root/pgbackrest-release-2.01"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /backrest/src /root/pgbackrest-release-2.01"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo cp -r /root/pgbackrest-release-2.01/lib/pgBackRest \\",
" /usr/share/perl5"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo find /usr/share/perl5/pgBackRest -type f -exec chmod 644 {} +"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo find /usr/share/perl5/pgBackRest -type d -exec chmod 755 {} +"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo mkdir -m 770 /var/log/pgbackrest"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown postgres:postgres /var/log/pgbackrest"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo touch /etc/pgbackrest.conf"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chmod 640 /etc/pgbackrest.conf"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo chown postgres:postgres /etc/pgbackrest.conf"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo sh -c 'cd /root/pgbackrest-release-2.01/libc && \\",
" perl Makefile.PL INSTALLMAN1DIR=none INSTALLMAN3DIR=none'"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/libc test"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/libc install"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/src"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo make -C /root/pgbackrest-release-2.01/src install"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres mkdir -m 750 -p /home/postgres/.ssh"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres ssh-keygen -f /home/postgres/.ssh/id_rsa \\",
" -t rsa -b 4096 -N \"\""
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo ssh root@pg-standby cat /home/postgres/.ssh/id_rsa.pub | \\",
" sudo -u pgbackrest tee -a /home/pgbackrest/.ssh/authorized_keys"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo ssh root@repository cat /home/pgbackrest/.ssh/id_rsa.pub | \\",
" sudo -u postgres tee -a /home/postgres/.ssh/authorized_keys"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest ssh postgres@pg-standby"
],
"cmd-extra" : "-o StrictHostKeyChecking=no ls",
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres ssh pgbackrest@repository"
],
"cmd-extra" : "-o StrictHostKeyChecking=no ls",
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-standby",
"option" : {
"demo" : {
"pg1-path" : {
"value" : "/var/lib/postgresql/9.4/demo"
},
"recovery-option" : {
"value" : "standby_mode=on"
}
},
"global" : {
v1.09: 9.6 Support, Configurability, and Bug Fixes Bug Fixes: * Fixed the check command to prevent an error message from being logged if the backup directory does not exist. (Fixed by Cynthia Shang.) * Fixed error message to properly display the archive command when an invalid archive command is detected. (Reported by Jason O'Donnell.) * Fixed an issue where the async archiver would not be started if archive-push did not have enough space to queue a new WAL segment. This meant that the queue would never be cleared without manual intervention (such as calling archive-push directly). PostgreSQL now receives errors when there is not enough space to store new WAL segments but the async process will still be started so that space is eventually freed. (Reported by Jens Wilke.) * Fixed a remote timeout that occurred when a local process generated checksums (during resume or restore) but did not copy files, allowing the remote to go idle. (Reported by Jens Wilke.) Features: * Non-exclusive backups will automatically be used on PostgreSQL 9.6. * Added the cmd-ssh option to allow the ssh client to be specified. (Suggested by Jens Wilke.) * Added the log-level-stderr option to control whether console log messages are sent to stderr or stdout. By default this is set to warn which represents a change in behavior from previous versions, even though it may be more intuitive. Setting log-level-stderr=off will preserve the old behavior. (Suggested by Sascha Biberhofer.) * Set application_name to "pgBackRest [command]" for database connections. (Suggested by Jens Wilke.) * Check that archive_mode is enabled when archive-check option enabled. Refactoring: * Clarified error message when unable to acquire pgBackRest advisory lock to make it clear that it is not a PostgreSQL backup lock. (Suggested by Jens Wilke.) * pgBackRest version number included in command start INFO log output. * Process ID logged for local process start/stop INFO log output.
2016-10-10 23:35:58 +02:00
"log-level-stderr" : {
"value" : "off"
},
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"log-timestamp" : {
"value" : "n"
},
"repo1-host" : {
"value" : "repository"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
"recovery-option=standby_mode=on",
"",
"[global]",
"repo1-host=repository"
]
}
},
{
"key" : {
"cmd" : [
"sudo pg_createcluster 9.4 demo"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --delta restore"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres cat /var/lib/postgresql/9.4/demo/recovery.conf"
],
"host" : "pg-standby",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"standby_mode = 'on'",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'"
]
}
},
{
"key" : {
"file" : "/etc/postgresql/9.4/demo/postgresql.conf",
"host" : "pg-standby",
"option" : {
"hot_standby" : {
"value" : "on"
},
"log_filename" : {
"value" : "'postgresql.log'"
},
"log_line_prefix" : {
"value" : "''"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"hot_standby = on",
"log_filename = 'postgresql.log'",
"log_line_prefix = ''"
]
}
},
{
"key" : {
"cmd" : [
"sudo rm /var/log/postgresql/postgresql-9.4-demo.log"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo start"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-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" : "pg-standby",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"LOG: could not bind IPv6 socket: Cannot assign requested address",
"HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.",
"LOG: database system was interrupted; last known up at 2018-03-20 00:16:53 UTC",
"LOG: entering standby mode",
"LOG: restored log file \"00000008.history\" from archive",
"LOG: incomplete startup packet",
"LOG: restored log file \"000000080000000000000029\" from archive",
"LOG: redo starts at 0/29000028",
"LOG: consistent recovery state reached at 0/29000128",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"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" : "pg-primary",
"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" : "pg-standby",
"output" : true
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"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" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" pg_switch_xlog | now ",
"----------------+-------------------------------",
" 0/2A0199E0 | 2018-03-20 00:17:28.430251+00",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02: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" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" message | now ",
"----------------+-------------------------------",
" Important Data | 2018-03-20 00:17:34.988692+00",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02: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" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: check command begin 2.01: --log-level-console=info --log-level-stderr=off --no-log-timestamp --pg1-path=/var/lib/postgresql/9.4/demo --repo1-host=repository --stanza=demo",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"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" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"CREATE ROLE"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres sh -c 'echo \\",
" \"host replication replicator 172.17.0.5/32 md5\" \\",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
" >> /etc/postgresql/9.4/demo/pg_hba.conf'"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo reload"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"demo" : {
"recovery-option" : {
"value" : "primary_conninfo=host=172.17.0.3 port=5432 user=replicator"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.4/demo",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"recovery-option=standby_mode=on",
"recovery-option=primary_conninfo=host=172.17.0.3 port=5432 user=replicator",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"",
"[global]",
"repo1-host=repository"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo -u postgres sh -c 'echo \\",
" \"172.17.0.3:*:replication:replicator:jw8s0F4\" \\",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
" >> /home/postgres/.pgpass'"
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres chmod 600 /home/postgres/.pgpass"
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo stop"
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo --delta restore"
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres cat /var/lib/postgresql/9.4/demo/recovery.conf"
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"primary_conninfo = 'host=172.17.0.3 port=5432 user=replicator'",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"standby_mode = 'on'",
"restore_command = 'pgbackrest --stanza=demo archive-get %f \"%p\"'"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo rm /var/log/postgresql/postgresql-9.4-demo.log"
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo start"
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"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" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 9 lines of output]",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"LOG: database system is ready to accept read only connections",
"LOG: restored log file \"00000008000000000000002A\" from archive",
"LOG: started streaming WAL from primary at 0/2B000000 on timeline 8"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"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" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" message | now ",
"----------------+-------------------------------",
" Important Data | 2018-03-20 00:17:46.077739+00",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02: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" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" message | now ",
"----------------+-------------------------------",
" Important Data | 2018-03-20 00:17:46.333002+00",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"(1 row)"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "repository",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"demo" : {
"pg2-host" : {
"value" : "pg-standby"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
},
"pg2-host-user" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"value" : "postgres"
},
"pg2-path" : {
"value" : "/var/lib/postgresql/9.4/demo"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
}
},
"global" : {
"backup-standby" : {
"value" : "y"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-host-user=postgres",
"pg1-path=/var/lib/postgresql/9.4/demo",
"pg2-host=pg-standby",
"pg2-host-user=postgres",
"pg2-path=/var/lib/postgresql/9.4/demo",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"",
"[global]",
"backup-standby=y",
"process-max=3",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"start-fast=y"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo --log-level-console=detail backup"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"backup file pg-primary|replay on the standby"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
},
"host" : "repository",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 2 lines of output]",
"P00 INFO: execute exclusive pg_start_backup() with label \"pgBackRest backup started at 2018-03-20 00:17:47\": backup begins after the requested immediate checkpoint completes",
"P00 INFO: backup start archive = 00000008000000000000002C, lsn = 0/2C0000C8",
"P00 INFO: wait for replay on the standby to reach 0/2C0000C8",
"P00 INFO: replay on the standby reached 0/2C000168",
"P02 INFO: backup file pg-standby:/var/lib/postgresql/9.4/demo/base/12139/12007 (392KB, 20%) checksum bc70f685fbac13fe44177419cd01f86b4fa93165",
"P01 INFO: backup file pg-primary:/var/lib/postgresql/9.4/demo/global/pg_control (8KB, 20%) checksum 3527ba100189801ef33ed2c69c4e960e25065016",
"P02 INFO: backup file pg-standby:/var/lib/postgresql/9.4/demo/base/12139/12010 (232KB, 32%) checksum 7942be329b7fd64c7b84de7c5d9f17cde491c7dd",
"P01 INFO: backup file pg-primary:/var/lib/postgresql/9.4/demo/backup_label (238B, 32%) checksum cacb1ae43120aaae237e7dfeb0b91bb8cf262dc9",
"P02 INFO: backup file pg-standby:/var/lib/postgresql/9.4/demo/base/12139/11891 (128KB, 39%) checksum cd83363e762186bf64d2867a3a7a55b359dbcfbb",
"P02 INFO: backup file pg-standby:/var/lib/postgresql/9.4/demo/base/12139/11892 (88KB, 43%) checksum 48841ee2c6fcee738cf9bcb10d4c93a325fb2fc7",
" [filtered 33 lines of output]"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo stop"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo apt-get install postgresql-9.5"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"cmd-extra" : "-y",
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_dropcluster 9.5 main"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_ctlcluster 9.4 demo stop"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-standby",
"output" : false
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
},
"type" : "exe"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
},
{
"key" : {
"cmd" : [
"sudo apt-get install postgresql-9.5"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"cmd-extra" : "-y",
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_dropcluster 9.5 main"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres /usr/lib/postgresql/9.5/bin/initdb \\",
" -D /var/lib/postgresql/9.5/demo -k -A peer"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_createcluster 9.5 demo"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sh -c 'cd /var/lib/postgresql && \\",
" /usr/lib/postgresql/9.5/bin/pg_upgrade \\",
" --old-bindir=/usr/lib/postgresql/9.4/bin \\",
" --new-bindir=/usr/lib/postgresql/9.5/bin \\",
" --old-datadir=/var/lib/postgresql/9.4/demo \\",
" --new-datadir=/var/lib/postgresql/9.5/demo \\",
" --old-options=\" -c config_file=/etc/postgresql/9.4/demo/postgresql.conf\" \\",
" --new-options=\" -c config_file=/etc/postgresql/9.5/demo/postgresql.conf\"'"
],
"highlight" : {
"filter" : true,
"filter-context" : 2,
"list" : [
"Upgrade Complete"
]
},
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
" [filtered 68 lines of output]",
"Creating script to delete old cluster ok",
"",
"Upgrade Complete",
"----------------",
"Optimizer statistics are not transferred by pg_upgrade so,",
" [filtered 4 lines of output]"
]
}
},
{
"key" : {
"file" : "/etc/postgresql/9.5/demo/postgresql.conf",
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"archive_command" : {
"value" : "'pgbackrest --stanza=demo archive-push %p'"
},
"archive_mode" : {
"value" : "on"
},
"listen_addresses" : {
"value" : "'*'"
},
"log_line_prefix" : {
"value" : "''"
},
"max_wal_senders" : {
"value" : "3"
},
"port" : {
"value" : "5432"
},
"wal_level" : {
"value" : "hot_standby"
}
}
},
"type" : "cfg-postgresql",
"value" : {
"config" : [
"archive_command = 'pgbackrest --stanza=demo archive-push %p'",
"archive_mode = on",
"listen_addresses = '*'",
"log_line_prefix = ''",
"max_wal_senders = 3",
"port = 5432",
"wal_level = hot_standby"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"demo" : {
"pg1-path" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"value" : "/var/lib/postgresql/9.5/demo"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.5/demo",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"",
"[global]",
"archive-async=y",
"log-level-file=detail",
"repo1-host=repository",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"spool-path=/var/spool/pgbackrest",
"",
"[global:archive-push]",
"process-max=2"
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"demo" : {
"pg1-path" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"value" : "/var/lib/postgresql/9.5/demo"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-path=/var/lib/postgresql/9.5/demo",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"recovery-option=standby_mode=on",
"recovery-option=primary_conninfo=host=172.17.0.3 port=5432 user=replicator",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"",
"[global]",
"repo1-host=repository"
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
]
}
},
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "repository",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"demo" : {
"pg1-path" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"value" : "/var/lib/postgresql/9.5/demo"
},
"pg2-path" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"value" : "/var/lib/postgresql/9.5/demo"
}
},
"global" : {
"backup-standby" : {
"value" : "n"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-host-user=postgres",
"pg1-path=/var/lib/postgresql/9.5/demo",
"pg2-host=pg-standby",
"pg2-host-user=postgres",
"pg2-path=/var/lib/postgresql/9.5/demo",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"",
"[global]",
"backup-standby=n",
"process-max=3",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"start-fast=y"
]
}
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo cp /etc/postgresql/9.4/demo/pg_hba.conf \\",
" /etc/postgresql/9.5/demo/pg_hba.conf"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo --no-online \\",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
" --log-level-console=info stanza-upgrade"
],
"highlight" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"filter" : true,
"filter-context" : 2,
"list" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"completed successfully"
]
},
"host" : "repository",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 INFO: stanza-upgrade command begin 2.01: --no-backup-standby --log-level-console=info --log-level-stderr=off --no-log-timestamp --no-online --pg1-host=pg-primary --pg2-host=pg-standby --pg1-host-user=postgres --pg2-host-user=postgres --pg1-path=/var/lib/postgresql/9.5/demo --pg2-path=/var/lib/postgresql/9.5/demo --repo1-path=/var/lib/pgbackrest --stanza=demo",
"P00 INFO: stanza-upgrade command end: completed successfully"
]
}
},
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo pg_ctlcluster 9.5 demo start"
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
],
"host" : "pg-primary",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"output" : true
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo -u postgres pg_lsclusters"
],
"host" : "pg-primary",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"Ver Cluster Port Status Owner Data directory Log file",
"9.4 demo 5432 down postgres /var/lib/postgresql/9.4/demo /var/log/postgresql/postgresql-9.4-demo.log",
"9.5 demo 5432 online postgres /var/lib/postgresql/9.5/demo /var/log/postgresql/postgresql-9.5-demo.log"
]
}
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo -u postgres pgbackrest --stanza=demo check"
],
"host" : "pg-primary",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : true
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo pg_dropcluster 9.4 demo"
],
"host" : "pg-primary",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo pg_dropcluster 9.4 demo"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo pg_createcluster 9.5 demo"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo check"
],
"host" : "repository",
"output" : true
},
"type" : "exe",
"value" : {
"output" : [
"P00 WARN: [056]: raised from remote process on 'pg-standby': could not connect to server: No such file or directory",
" \tIs the server running locally and accepting",
" \tconnections on Unix domain socket \"/var/run/postgresql/.s.PGSQL.5432\"?"
]
}
},
{
"key" : {
"cmd" : [
"sudo -u pgbackrest pgbackrest --stanza=demo --type=full backup"
],
"host" : "repository",
"output" : false
},
"type" : "exe"
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo -u postgres pgbackrest --stanza=demo --delta restore"
],
"host" : "pg-standby",
"output" : false
},
"type" : "exe"
},
{
"key" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"file" : "/etc/postgresql/9.5/demo/postgresql.conf",
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"option" : {
"hot_standby" : {
"value" : "on"
}
}
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "cfg-postgresql",
"value" : {
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"config" : [
"hot_standby = on"
]
}
},
{
"key" : {
"cmd" : [
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"sudo pg_ctlcluster 9.5 demo start"
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
},
{
"key" : {
"cmd" : [
"sudo -u postgres sleep 2"
],
"host" : "pg-standby",
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"output" : false
},
v1.18: Stanza Upgrade, Refactoring, and Locking Improvements Bug Fixes: * Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.) Features: * Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL. (Contributed by Cynthia Shang.) * Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section. (Contributed by Cynthia Shang.) Refactoring: * Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before. * Refactor Ini.pm to facilitate testing. * Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums. * Improved error message when the restore command detects the presence of postmaster.pid. (Suggested by Yogesh Sharma.) * Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions. (Suggested by Yogesh Sharma.) * The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies. * Allow functions to accept optional parameters as a hash. * Refactor File->list() and fileList() to accept optional parameters. * Refactor backupLabel() and add unit tests. * Silence some perl critic warnings. (Contributed by Cynthia Shang.)
2017-04-13 01:17:39 +02:00
"type" : "exe"
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
},
{
"key" : {
"cmd" : [
"sudo -u postgres pgbackrest --stanza=demo check"
],
"host" : "pg-standby",
"output" : true
},
"type" : "exe"
},
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
{
"key" : {
"file" : "/etc/pgbackrest.conf",
"host" : "repository",
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
"option" : {
"global" : {
"backup-standby" : {
"value" : "y"
}
}
}
},
"type" : "cfg-pgbackrest",
"value" : {
"config" : [
"[demo]",
"pg1-host=pg-primary",
"pg1-host-user=postgres",
"pg1-path=/var/lib/postgresql/9.5/demo",
"pg2-host=pg-standby",
"pg2-host-user=postgres",
"pg2-path=/var/lib/postgresql/9.5/demo",
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
"",
"[global]",
"backup-standby=y",
v1.13: Parallel Archiving, Stanza Create, Improved Info and Check IMPORTANT NOTE: The new implementation of asynchronous archiving no longer copies WAL to a separate queue. If there is any WAL left over in the old queue after upgrading to 1.13, it will be abandoned and not pushed to the repository. To prevent this outcome, stop archiving by setting archive_command = false. Next, drain the async queue by running pgbackrest --stanza=[stanza-name] archive-push and wait for the process to complete. Check that the queue in [spool-path]/archive/[stanza-name]/out is empty. Finally, install 1.13 and restore the original archive_command. IMPORTANT NOTE: The stanza-create command is not longer optional and must be executed before backup or archiving can be performed on a new stanza. Pre-existing stanzas do not require stanza-create to be executed. Bug Fixes: * Fixed const assignment giving compiler warning in C library. (Fixed by Adrian Vondendriesch.) * Fixed a few directory syncs that were missed for the --repo-sync option. * Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner(). (Reported by Leonardo Avellar.) * Fixed an issue where protocol mismatch errors did not output the expected value. * Fixed a spurious archive-get log message that indicated an exit code of 1 was an abnormal termination. Features: * Improved, multi-process implementation of asynchronous archiving. * Improved stanza-create command so that it can repair broken repositories in most cases and is robust enough to be made mandatory. (Contributed by Cynthia Shang.) * Improved check command to run on a standby, though only basic checks are done because pg_switch_xlog() cannot be executed on a replica. (Contributed by Cynthia Shang.) * Added archive and backup WAL ranges to the info command. * Added warning to update pg_tablespace.spclocation when remapping tablespaces in PostgreSQL < 9.2. (Contributed by blogh.) * Remove remote lock requirements for the archive-get, restore, info, and check commands since they are read-only operations. (Suggested by Michael Vitale.) Refactoring: * Refactor File and BackupCommon modules to improve test coverage. * Return proper error code when unable to convert a relative path to an absolute path. (Suggested by Yogesh Sharma.) * Log file banner is not output until the first log entry is written. (Suggested by Jens Wilke.) * Moved File->manifest() into the FileCommon.pm module. * Moved the Archive modules to the Archive directory and split the archive-get and archive-push commands into separate modules. * Split the check command out of the Archive.pm module. * Allow logging to be suppressed via logDisable() and logEnable(). * Allow for locks to be taken more than once in the same process without error. * Lock directories can be created when more than one directory level is required. * Clean up optionValid()/optionTest() logic in Lock.pm. * Added Exception::exceptionCode() and Exception::exceptionMessage() to simplify error handling logic. * Represent .gz extension with a constant. * Allow empty files to be created with FileCommon::fileStringWrite() and use temp files to avoid partial reads. * Refactor process IO and process master/minion code out from the common protocol code. * Reduced the likelihood of torn pages causing a false positive in page checksums by filtering on start backup LSN. * Remove Intel-specific optimization from C library build flags. (Contributed by Adrian Vondendriesch.) * Removed --lock option. This option was introduced before the lock directory could be located outside the repository and is now obsolete. * Added --log-timestamp option to allow timestamps to be suppressed in logging. This is primarily used to avoid filters in the automated documentation. * Fixed alignment issues with multiline logging.
2017-02-06 03:23:03 +02:00
"process-max=3",
"repo1-path=/var/lib/pgbackrest",
"repo1-retention-full=2",
v1.06: Backup from Standby and Bug Fixes Bug Fixes: * Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely. (Reported by Michael Vitale.) * Fixed an issue where options that should not allow multiple values could be specified multiple times in pgbackrest.conf without an error being raised. (Reported by Michael Vitale.) * Fixed an issue where the protocol-timeout option was not automatically increased when the db-timeout option was increased. (Reported by Todd Vernick.) Features: * Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master. * More flexible configuration for databases. Master and standby can both be configured on the backup server and pgBackRest will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used. * Exclude directories during backup that are cleaned, recreated, or zeroed by PostgreSQL at startup. These include pgsql_tmp and pg_stat_tmp. The postgresql.auto.conf.tmp file is now excluded in addition to files that were already excluded: backup_label.old, postmaster.opts, postmaster.pid, recovery.conf, recovery.done. * Experimental support for non-exclusive backups in PostgreSQL 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. Refactoring: * Simplify protocol creation and identifying which host is local/remote. * Removed all OP_* function constants that were used only for debugging, not in the protocol, and replaced with __PACKAGE__. * Improvements in Db module: separated out connect() function, allow executeSql() calls that do not return data, and improve error handling. * Improve error message for links that reference links in manifest build. * Added hints to error message when relative paths are detected in archive-push or archive-get. * Improve backup log messages to indicate which host the files are being copied from.
2016-08-25 17:49:09 +02:00
"start-fast=y"
]
}
}
]
}
}
}