Version 2.1.1
New features:
-
Remote backup and restore using
SSH. It uses an operation model when backup catalog is located on local machine, whilePostgreSQLis located on remote machine, the only exceptions arearchive-pushandarchive-getcommands which are always launched from database server side. For remote mode to work a localsshbinary is used. All--remote-*and--ssh-*options can be used withadd-instance,set-config,backup,restore,archive-pushandarchive-getcommands. Currently remote operations are not supported on Windows.- Option
--remote-protoallows to specify a protocol to use for remote operations. Currently onlysshandnonevalues are supported. If option--remote-hostis specified then default value for--remote-protoisssh. - Option
--remote-hostallows to specify remote host IP address or hostname to connect in remote mode. - Option
--remote-portallows to specify remote host port to connect in remote mode. Default value:22. - Option
--remote-userallows to specify remote host user to connect in remote mode. Default value: current user. - Option
--remote-pathallows to specify a directory path with pg_probackup binary on remote machine. - Option
--ssh-optionsallows to specify a string of options forssh. Default:none.
- Option
-
Merge partially-expired incremental chains during backups retention purge. This is the analog of Oracle
Incrementally Updated Backupsfeature.- Flag
--merge-expiredallows to merge partially-expired incremental backup chains. Can be used only ifretention-windowpolicy is set. Can be safely used with--delete-expiredflag. Can be used only withbackupanddeletecommands. - Flag
--dry-runallows to perform a trial retention run without any changes. Can be used only withbackupanddeletecommands.
- Flag
-
Support of external directories. It can be used for adding to backup any files and directories located outside of PGDATA, e.g. configs, logs or scripts.
- Option
--external-dirsallows to specify multiple directories separated by colon that should be copied during backup. Default value: 'none'. Can be used only withset-configandbackupcommands. Example:--external-dirs=/etc/postgresql/9.6:/opt/scripts. - Option
--external-mappingsimilarly to option--tablespace-mappingallows to relocate specified external directory to a new location duringrestore.Can be specified multiple times. Can be used only withrestorecommand. Example:--external-mapping=/etc/postgresql/9.6=/tmp/configs --external-mapping=/opt/scripts=/tmp/scripts - Flag
--skip-external-dirsallows to skip restoring of external directories duringrestore. Can be used only withrestorecommand.
- Option
-
New command
checkdbprovides additional facilities to check yourPostgreSQLinstance. It allows to validate all data files located in PGDATA via block checksums matching and page header sanity checks. Optionally all indexes in all databases in PostgreSQL instance can be logically verified using extensionsamcheckoramcheck_next.- Flag
--amcheckallows logical verification of all indexes in specified PostgreSQL instance if no corruption was found during data files checking. It requires eitheramcheckoramcheck_nextextension to be available. Uses bt_index_check() function from said extensions. - Flag
--skip-block-validation, which already exists invalidatecommand, completely disables data files validation. Can be used only with--amcheckflag. - Flag
--heapallindexedallows to check that all heap tuples that should be indexed are actually indexed. Can be used for PG11 or, ifamcheck_nextextension is installed, for any PG version. Can be used only with--amcheckflag.
- Flag
-
Flag
--temp-slotallows user to use temporary replication slot for STREAM backups. Default temp slot name ispg_probackup_slotwhich can be changed via--slotoption.
Improvements:
- Windows support is now considered stable.
- Additional support of threads by
validatecommand. Now it use multiple threads defined by-joption for checking WAL files. - Flag
--no-validatecan now be used withbackupcommand. It allows not to force validation after successful backup. - Now invalid backups will be deleted during retention purge, if they are not guarded by retention.
- Show merge time after backup merging by
showcommand. - Options
--master-*and--replica-timeoutare deprecated. Deprecated options are still usable for the purpose of backward compatibility. - Now an absolute path to
pg_probackupbinary is used inrestore_commandoption ofrecovery.conffile generated byrestorecommand. - Options
--time,--xid,--lsn,--timelineand flags--inclusive,--immediateare deprecated. Use--recovery-target-time,--recovery-target-xid,--recovery-target-lsn,--recovery-target-inclusive,--recovery-target-timelineand--recovery-targetoptions instead. Deprecated options and flags are still usable for the purpose of backward compatibility. - Option
--recovery-targethas two allowed values:immediatewhich is identical to deprecated flag--immediateandlatestwhich stands for default recovery behavior - recover to the end of the all available WAL log. - Usage of parent_link in
merge,restoreandbackupcommands instead of time sorting makes incremental chains more robust to time lapses and other anomalies.
Bugfixes:
- Update program_version of the target backup, recalculate CRC of a unchanged file after
mergecommand. - Changing backup metadata is now atomic.
- During
mergecommand destination backup now inherit WAL mode from parent. - Allow to delete backups with missing or emtpy
.controlfiles. - More lenient handling of
.rotationfile been empty or containing garbage, WARNING is issued now instead of ERROR.