=head1 OmniPITR =encoding utf8 =head2 2015-07-22 =over =item * Release of version 1.3.3 =item * Add support for xz and lz4 compressions, thanks to Michael Pirogov =back =head2 2014-01-07 =over =item * Fix for version checking for x.y.z versions of tar. Per report ( https://github.com/omniti-labs/omnipitr/issues/14 ) from David Johnston. =back =head2 2013-12-22 =over =item * Release of version 1.3.2 =item * Fix for handling --skip-xlog together with remote destinations (-dr) in omnipitr-backup-*. Bug reported (https://github.com/omniti-labs/omnipitr/issues/13) by Otto Bretz =back =head2 2013-12-17 =over =item * Release of version 1.3.1 =item * Added --truncate and --sleep to omnipitr-backup-cleanup =back =head2 2013-12-16 =over =item * Release of version 1.3.0 =item * Added --dry-run to omnipitr-backup-cleanup =item * Added --help/docs to omnipitr-backup-cleanup =back =head2 2013-12-13 =over =item * Added omnipitr-backup-cleanup - program to remove old backups, and xlogs from walarchive, leaving consistent state (all backups can be restored using xlogs from walarchive). =back =head2 2013-12-12 =over =item * Added timezone and hostname information to meta files =back =head2 2013-12-10 =over =item * change retention of error messages in omnipitr-monitor cache to 3 days (from 30). This is to make sure that the cache file will not be too big. =back =head2 2013-11-29 =over =item * *meta* files are generated for backups. These files contain information when backup has started, and what is the minimal xlog file required for recovery from it. =back =head2 2013-08-23 =over =item * Release of version 1.2.0 =item * --dst-pipe for omnipitr-backup-master, omnipitr-backup-slave and omnipitr-archive =item * support for using %r in omnipitr-restore for cleanup purposes =item * --skip-xlog option to disable creation of xlog tarball from backup processes =item * various bugfixes =back =head2 2013-04-01 =over =item * Release of version 1.1.0, including all changes since release 1.0.0 =back =head2 2012-12-11 =over =item * Provide support for --help option =item * Add support for config file =item * Add --version option to all programs. =back =head2 2012-12-04 =over =item * Make temp directories based on PID, to allow easy running (for example) 2 slaves on the same machine. =back =head2 2012-12-04 =over =item * Add option to make omnipitr-restore able to remove files from walarchive before serving next xlog to PostgreSQL. This is important in cases where slave falls back a lot, and it's catching up - but it doesn't start to remove old, obsolete wal segments before it will fully catch up. Now, with new option (--remove-before) it will delete old wal segments during catchup phase too. =back =head2 2012-08-08 =over =item * Make sanity-check.sh return sensible exit code - pull from François Beausoleil ( https://github.com/francois ) =back =head2 2012-08-08 =over =item * Fix log line parsing in omnipitr-monitor - the bug in there prevented omnipitr-monitor from working when running on server with timezone "before" UTC (for example UTC-0400). =back =head2 2012-07-02 =over =item * Release of version 1.0.0 =item * Finally omnipitr-monitor is working =back =head2 2012-05-07 =over =item * Release of version 0.7.0 =item * Cherry-pick wal segments for omnipitr-backup-slave, instead of archiving whole WALARCHIVE =back =head2 2012-04-26 =over =item * Release of version 0.6.0 =item * Support parallelism of delivery to remote destinations, and unpacking of wal archives for omnipitr-backup-slave =back =head2 2012-03-30 =over =item * Release of version 0.5.0 =item * Direct destination support - details: http://www.depesz.com/2012/03/30/omnipitr-0-5-0/ =back =head2 2012-01-19 =over =item * Release of version 0.4.0 =item * Fix handling of symlinks to walarchive in omnipitr-backup-slave =back =head2 2012-01-17 =over =item * New program omnipitr-cleanup to be used as archive_cleanup_command in recovery.conf - for streaming replication setups =back =head2 2012-01-11 =over =item * Release version 0.3.1 =item * Fixed bug with handling digests, that could cause omnipitr-backup-master or omnipitr-backup-slave to *not* make backup if bad digester was requested. =back =head2 2012-01-04 =over =item * Release version 0.3.0 =item * Added omnipitr-synch program, to send PostgreSQL data in sane way to remote machines (for example to setup new slave). =item * Switch to use environment based perl interpreter, instead of hardcoding path =back =head2 2011-12-14 =over =item * Release version 0.2.1 =item * Change handling of IO to use external tools (tee) to avoid deadlocks in case of slow compression =back =head2 2011-11-10 =over =item * Release version 0.2.0 =item * Added ability to create checksums of backups, with --digest option for omnipitr-backup-master and omnipitr-backup-slave programs =back =head2 2011-08-05 =over =item * Release version 0.1.3 =item * Fixed bug with handling Minimum Recovery Location in slave backup =back =head2 2011-06-30 =over =item * Release version 0.1.2 =item * Fixed bug with handling multiple local destinations for backups. =back =head2 2011-06-17 =over =item * Release version 0.1.1 =item * Changed short version of --psql-path from -pp to -sp - -pp was already taken by --pgcontrol-path. Bug reported by luoyi. =back =head2 2011-06-14 =over =item * Release version 0.1.0 =back =head2 2011-06-08 =over =item * Fix slave backup on 9.0 systems (new option, -cm) =item * Add test system, not really configurable now, but works, and lets me easily verify that OmniPITR still works. =item * Add (finally) versions. So far only to libraries. Can be read with: perl -I/opt/omnipitr/lib -le 'use OmniPITR::Program; print $OmniPITR::Program::VERSION' =back =head2 2011-05-18 =over =item * Allow omnipitr-backup-master and omnipitr-backup-slave to work when data dir path is given as symlink =back =head2 2011-03-24 =over =item * Fix typo in generated .backup file - harmless as far as I know. =back =head2 2011-03-11 =over =item * Fix handling of pidfile in backup-master and backup-slave programs. Bug spotted by Albert Czarnecki =back =head2 2011-02-10 =over =item * Make the IMMEDIATE finish of recovery actually work. =item * Make omnipitr-backup-slave compatible with Streaming Replication in PostgreSQL 9.0 =item * Add option (--streaming-replication) to make it possible to use omnipitr-restore in 9.0 Streaming Replication environment. =back =head2 2011-01-27 =over =item * Silence warning if source is not defined on the command line =back =head2 2011-01-27 =over =item * Silence warning if source is not defined on the command line =back =head2 2011-01-24 =over =item * Add detection of tar version to sanity-check.sh =back =head2 2011-01-20 =over =item * Add internals.pod with first part of documentation of "how it works, and why this way" =back =head2 2011-01-14 =over =item * Locate any tablespaces in the data dir and include them in the backup for both masters and slaves. In the tar file these will be placed under the 'tablespaces' directory. =back =head2 2011-01-12 =over =item * localize signal handler so that it does not get called outside of the function call =back =head2 2011-01-05 =over =item * Add proper stub for make_xlog_archive in OmniPITR::Program::Backup, that enforces reimplementation in child classes. =back =head2 2010-09-28 =over =item * Fix error with handling master backups where given data-dir contained trailing / character =back =head2 2010-09-10 =over =item * Fix error handling for pg_controldata =back =head2 2010-09-08 =over =item * Add option to handle various ways of dealing with problems with calls to pg_controldata (--error-pgcontroldata) to omnipitr-restore =back =head2 2010-09-07 =over =item * Log whole response from pg_controldata in case there are problems with it =back =head2 2010-07-28 =over =item * Add forgotten --nice-path to omnipitr-archive =item * Add option not to use nice for omnipitr-archive, and both omnipitr-backup-* programs =back =head2 2010-07-15 =over =item * Added "IMPORTANT NOTICES" part to documents for omnipitr programs with additional info that might not be obvious always. =item * Added information about reuiring at least gnu tar 1.20 (earlier version didn't have --transform option which is required by omnipitr-backup-slave) =back =head2 2010-06-30 =over =item * Refactoring done. =item * omnipitr-backup-slave in beta =back =head2 2010-06-29 =over =item * First part of refactoring the code =back =head2 2010-06-28 =over =item * Fix type in changelog (28 -> 23) =item * Fix call to tar with 2 --transform options. Some tar versions don't handle it well, and it's required for omnipitr-backup-slave =item * Exclude whole pg_log and pg_xlog directories if these are symlinks - no point in restoring them on slave system, and it's pretty common to be symlinked. =back =head2 2010-06-23 =over =item * Fix description of -x option for omnipitr-backup-master =item * Add information that one should remove finish recovery trigger after successfull finish of wal replication. =item * alpha version of omnipitr-backup-slave =back =head2 2010-06-12 =over =item * Fix ommission in workaround for PostgreSQL 8.2 and 8.3 - regarding order of xlog segments. =back =head2 2010-06-10 =over =item * Fix bug caused by silencing rm - destination-backup directory wasn't removed after successful exit of backup. =back =head2 2010-06-07 =over =item * Silence rmtree - disable confirmation message to be printed to screen - to make sure cron jobs with backup don't create irrelevant mails. =back =head2 2010-06-05 =over =item * Added documentation about requirements =item * Added workaround for PostgreSQL 8.2 and 8.3, which do not wait for .backup "wal segment" to be archived before returning control from pg_stop_backup() call. =item * Added changelog =back =head2 COPYRIGHT The OmniPITR project is Copyright (c) 2009-2013 OmniTI. All rights reserved.