Skip to content

Releases: ossc-db/pg_rman

1.3.7

27 Sep 10:19
afdcbba
Compare
Choose a tag to compare

Release Notes

English

This is the latest maintenance release for pg_rman1.3.

!!!!!ATTENTION!!!!!

This release makes certain changes to the backup data file format, which makes it incompatible with the backups taken using older versions of pg_rman. So, it cannot be used to restore the backups taken using older versions of pg_rman.

Specifically, the incompatible change is required in order to fix an issue with the incremental backup feature, which caused it to restore a relation file's blocks that have already been deleted since the backup was taken.

Change Log

  • Fixed pg_rman to mitigate attacks described in CVE-2018-1058

  • Fix a bug which restores already deleted data when using the increment backup feature.
    ・This bug was caused by the failure on pg_rman's part to consider that VACUUM, which can shrink a table's file by truncating the blocks at the end of the file, may run between the latest full backup and an incremental backup. Incremental backups didn't record the fact that those blocks need not be restored, which this change fixes. As mentioned above, that required changing the backup data file format in a backward-incompatible manner.

  • Correctly parse system_identifier string in backup configuration file

Japanese

これは1.3.7系列の最新のリリースとなります。
本リリースでは増分バックアップのリストア時に、すでに削除したデータまで復旧する問題を修正しています。

!!!!!注意事項!!!!!

本バージョンは、pg_rman 1.3.6以前との互換性はありません。
このため、1.3.6以前のバージョンを利用している場合は以下の点に注意してください。

・1.3.6以前のバージョンで取得したバックアップは、1.3.7ではリストアできません。
・1.3.6以前のバージョンのフルバックアップをベースに1.3.7の増分バックアップはできません。増分バックアップには1.3.7で取得したフルバックアップが必要です。

変更点

  • CVE-2018-1058に対応しました。

  • 増分バックアップをリストアした際に、すでに削除されたデータまで復元する問題を修正しました。
    ・テーブルの末尾に連続して削除可能な領域がある場合、PostgreSQLのvacuumはテーブルを保存するファイルのサイズを縮小しますが、pg_rmanは本動作を考慮していませんでした。
    ・このvacuumがフルバックアップと増分バックアップの間に実行された場合、pg_rmanはファイルサイズが縮小されたことを認識できなかったため、フルバックアップから本来は削除されたデータまで復旧していました。

  • pg_rmanリポジトリ のsystem_identifier値を読む時に使用するC関数を修正しました。

1.3.6

30 Jan 07:00
Compare
Choose a tag to compare

Release Notes

English

This is the latest maintenance release for pg_rman1.3.6.

It is recommended that you use it with the latest PostgreSQL server (10.1, 9.6.6, 9.5.10, 9.4.15, 9.3.20, 9.2.24).

Change Log

  • Added support for PostgreSQL 10
  • changed name of RPM to standard naming convention
    -- pg_rman-X.X.X-X.pgXX.elX.x86_64.rpm => pg_rman-X.X.X-X.pgXX.rhelX.x86_64.rpm

Japanese

これは1.3.6系列の最新のリリースとなります。

このバージョンは、PostgreSQL 10をサポートしています。

各バージョンの最新のPostgreSQLバージョン(10.0, 9.6.5, 9.5.9, 9.4.14, 9.3.19, 9.2.23)と合わせて利用することを推奨します。

変更点

  • PostgreSQL 10に対応
  • RPMの名前を標準名前ルールに変更
    -- pg_rman-X.X.X-X.pgXX.elX.x86_64.rpm => pg_rman-X.X.X-X.pgXX.rhelX.x86_64.rpm

1.3.5

14 Jul 05:41
Compare
Choose a tag to compare

Release Notes

English

This is a maintenance release for pg_rman 1.3

Change Log

  • Fix a bug that caused GIN, BRIN, and SP-GiST indexes contained in backups to contain invalid meta page data (Issue #66 )

An internal compression technique used by pg_rman to compress the backup pages failed to consider that the same technique cannot be used for GIN, BRIN and SP-GiST indexes, because the core PostgreSQL does not provide the necessary support. So, the compression performed by pg_rman caused loss of information stored in the meta page of these index types, so indexes become unusable after recovery. This fix prevents such compression to be applied to GIN, BRIN, and SP-GiST indexes anymore, so the files of such indexes will be copied as it is. This will cause the backups to become larger.

Note that this means that if any backup taken using pg_rman 1.3.4 and less contains GIN, BRIN, and SP-GiST indexes, they contain invalid meta page data. If you want to perform PITR using one of these old backups, you must recreate such indexes by performing REINDEX right after recovery is finished.

  • Fix a bug that prevented WAL file(s) necessary for successful recovery to be backed up

Due to this bug, pg_rman didn't wait until the PostgreSQL archiver process had finished copying the necessary WAL files to the archive location, which prevented those files to copied to the backup

  • Fix a bug that caused config file parsing code to emit unnecessary warnings

About release files

There are rpm and source tarball files for PostgreSQL versions 9.3, 9.4, 9.5 and 9.6. For example, pg_rman-1.3.5-1.pg96.rhel7.x86_54.rpm is the rpm for PostgreSQL 9.6 on RHEL 7. Similarly, pg_rman-1.3.5-pg96 is the source tarball for PostgreSQL 9.6.

Japanese

本リリースはpg_rman 1.3系の最新リリースです。

変更点

  • バックアップのGIN、BRIN、SP-GiSTインデックスに無効なメタページデータ
    が含まれる不具合を修正しました。(Issue #66)

 GIN、BRIN、SP-GiSTインデックスのバックアップに対して、pg_rman
 がページ圧縮を行った場合、バックアップされたページデータの一部
 が破損します。
 本修正により、GIN、BRIN、およびSP-GiSTインデックスに対しては、
 圧縮オプションに関わらず、圧縮処理が行われなくなります。当該
 インデックスを使用している場合、バックアップファイルのサイズが
 増加します。

 注意:
  pg_rman 1.3.4以前を使用して取得したバックアップにGIN、BRIN、
  およびSP-GiSTインデックスのいずれかが含まれている場合、
  これらのバックアップを使用したPITRでは、リストア完了後に
  「REINDEX」を実行し、インデックスを再作成する必要があります。

  • WALファイルのバックアップに関する不具合を修正しました。

 バックアップを取得する際、archiver processによるWALのアーカイブ
 処理の完了を明示的に待つように修正しました。
 
 注意:
  archive_mode = always且つスタンバイサーバでpg_rmanを使用する
  場合に限り、本不具合の影響によってバックアップ取得に失敗する
  可能性があります。
  これらの条件でpg_rman 1.3.4以前を使用している場合、速やかに
  1.3.5へバージョンアップを行い、バックアップの再取得を実施
  してください。

  • PostgreSQLの設定ファイルの解析時に、不必要な警告が出力される
     不具合を修正しました。

1.3.4

24 Apr 00:47
Compare
Choose a tag to compare

Release Notes

English

This is a maintenance release for pg_rman 1.3

Change Log

  • Fix a bug related data page checksum handling
    Previously, wrong checksum values would be set on the individual data pages during restore command processing, which would cause checksum-related errors when the pages are accessed during normal database operation after recovery (affected only when using pg_rman with PostgreSQL 9.3 or newer, because older versions did not support checksum for data pages)

  • Set fallback_application_name when connecting to the database (Fixes #56 )
    Previously, log messages emitted to server log because of pg_rman's interactions with the server would not contain proper application_name

  • Add End Time column to the show command's output, replacing Duration column

  • Account for renaming of pg_xlog directory and various SQL functions to change "xlog" to "wal"
    It basically means pg_rman can now backup and restore PostgreSQL 10 database directories

About release files

There are rpm and source tarball files for PostgreSQL versions 9.3, 9.4, 9.5 and 9.6. For example, pg_rman-1.3.4-1.pg96.rhel7.x86_54.rpm is the rpm for PostgreSQL 9.6 on RHEL 7. Similarly, pg_rman-1.3.4-pg96 is the source tarballs for PostgreSQL 9.6.

Japanese

本リリースはpg_rman 1.3系の最新リリースです。

変更点

  • チェックサムに関するバグを修正しました。
    PostgreSQLのページのチェックサム機能を有効にしており、かつテーブルが複数のファイルに跨る場合(デフォルトではテーブルサイズが1GBを超える場合)、pg_rmanがリストア時に誤ったチェックサムの値をセットしていました。誤ったチェックサムの値がセットされたページは、リストア後にPostgreSQLがアクセスした際にエラーが発生します。
    また、リストア先に古いPGDATAがない場合、チェックサムを考慮したリストアができませんでした。
    このため、古いPGDATAがない状態でチェックサムが有効なデータをリストアした場合、リストア後にPostgreSQLがアクセスした際にエラーが発生していました。

  • デフォルトのapplication_nameが'pg_rman'になりました。(#56 )
    以前はデフォルト値が設定されていませんでした。

  • showコマンドの出力に、列'EndTime'を追加しました。列'Duration'は冗長になるため削除しました。

  • PostgreSQL 10では'pg_xlog'が'pg_wal'に変更されることや、SQL関数名の中の'xlog'も'wal'に変更されることに対応しました。

1.3.3

13 Oct 11:33
Compare
Choose a tag to compare

Release Notes

English

This is a maintenance release for pg_rman 1.3

Change Log

  • Support taking backups from PostgreSQL 9.6 servers
  • Support non-exclusive backup API of PostgreSQL 9.6
  • Issue a warning when when --compress option is used but the pg_rman build does not support compression
  • Fix a bug in backup delete command processing that prevented ERROR'd backups from being deleted
  • Do not show backups with unknown state in the show command output (#23)
  • Support UNIX domain socket files in backup (#41)

About release files

There are rpm and source tarball files for PostgreSQL versions 9.3, 9.4, 9.5 and 9.6. For example, pg_rman-1.3.3-1.pg96.rhel7.x86_54.rpm is the rpm for PostgreSQL 9.6 on RHEL 7. Similarly, pg_rman-1.3.3-pg96 is the source tarballs for PostgreSQL 9.6.

Japanese

本リリースはpg_rman 1.3系の最新リリースです。

変更点

  • PostgreSQL 9.6 に対応しました。
  • PostgreSQL 9.6 の non-exclusive backup API をサポートしました。
  • PostgreSQL が zlib オプションなしで構築されている時、--compress-data オプションが WARNING を出すようにしました。
  • エラーとなったバックアップが、DELETE コマンドで誤って削除されるのを防止するようになりました。
  • SHOWコマンドで、無効なステータスのバックアップを表示しないようにしました。(#23)
  • UNIXドメインソケットをサポートしました。(#41)

1.3.2

28 Jan 09:35
Compare
Choose a tag to compare

Release Notes

English

This is a maintenance release for pg_rman 1.3

Change Log

  • Supports PostgreSQL 9.5
  • Check database system identifier during backup to prevent writing backups of different database cluster (that is, separately initdb'd) into the backup catalog

Second change means you cannot take backups using the latest pg_rman binary into an existing backup catalog created by some older version of pg_rman, because it would not find the system identifier file. To get around this, kindly create a new backup catalog and manually copy all backups in the old catalog into the new one, if needed. Note that although one cannot take new backups into the old catalog, one can still restore from the existing backups in it.

About release files

There are rpm and source tarball files for PostgreSQL versions 9.3, 9.4 and 9.5. For example, pg_rman-1.3.2-1.pg95.rhel7.x86_54.rpm is the rpm for PostgreSQL 9.5 on RHEL 7. Similarly, pg_rman-1.3.2-pg95 is the source tarballs for PostgreSQL 9.5.

Japanese

本リリースはpg_rman 1.3系の最新リリースです。

変更点

  • PostgreSQL 9.5 をサポートしました。
  • バックアップ取得時にデータベース識別子(system_identifier)が一致しているかを確認する機能が追加されました。一致しない場合バックアップを取得しません。これによって、異なるデータベースのバックアップ情報が、誤ってバックアップカタログに混入するのを防ぐことができるようになりました。

注意

上記の変更によって以下の制約が発生します。
pg_rman 1.3.1 以降で作成したバックアップカタログにはデータベース識別子が存在しないので、pg_rman 1.3.2 を使ってバックアップを取得することはできません。以前のバックアップカタログのバックアップを pg_rman 1.3.2 で扱いたい場合は、pg_rman 1.3.2 を用いてバックアップカタログを作成しなおし、適宜、以前のバックアップカタログからバックアップをコピーして下さい。

1.3.1

10 Sep 02:03
Compare
Choose a tag to compare

Release 1.3.1

This is a maintenance release for pg_rman 1.3

Change Log

  • Fix a bug where recovery target option is ignored when performing PITR using restore command

1.3.0

30 Jul 08:09
Compare
Choose a tag to compare

This is a first release of pg_rman 1.3 series.

Change log from 1.2.11

  • Add purge command.
    Previously, delete command removes actual data from backup catalog path, but the directory and some files still remains for show command usage. This new purge command can remove these files and directories related to deleted backup totally from backup catalog path.
  • Improve output of show commands.
    Now, output by show command contains backup mode and Timeline ID of each backup. And, show timeline command is renamed to show detail.
  • Add --full-backup-on-error/-F option for backup command.
    Previously, pg_rman fails to take an incremental or archive backup if there is no valid full backup in the same timelie id. With this option, pg_rman turns to take a full backup automatically in that situation.
  • Add --progress/-P option for backup and restore command.
    With this option, pg_rman shows number of files it processed during backup or restore.
INFO: copying database files
Processed 68 of 1760 files, skipped 0
  • Add --force option for delete command.
    Previously, pg_rman does not delete incremental or archived WAL backup even if they are old enough against given DATE but necessary for restore. With this option, pg_rman focibly delete against given DATE. Though this can break the consistency of backup and recovery, it is useful in some operational cases.
  • Enable --keep-data-generations and --keep-data-days options to be used independently.
    Previously, these option should be used together. Now, pg_rman can accept each option separately.
  • Enable --keep-arclog-files and --keep-arclog-days options to be used independently.
    Previously, these option should be used together. Now, pg_rman can accept each option separately.
  • Enable --keep-srvlog-files and --keep-srvlog-days options to be used independently.
    Previously, these option should be used together. Now, pg_rman can accept each option separately.
  • backup_cleanup did not work properly
    In backup from a standby server tied but failed, backup_cleanup
    is called but does not do pg_stop_backup. This caused the master
    server keeping in backup status.
  • Improve error messages.
  • Add documentation in source tree.

About release files

Please download RPM or source archive file.
There are different files for PostgreSQL server version.
For example, pg_rman-1.3.0-1.pg94.rhel7.x86_54.rpm is the rpm for PostgreSQL 9.4 on RHEL 7.
Similarly, pg_rman-1.3.0-pg94 is the source archive for PostgreSQL 9.4.

1.2.11

02 Jul 04:57
Compare
Choose a tag to compare

Release Note -- pg_rman 1.2.11 --

This is a recent maintenance release for pg_rman 1.2.

Change Log

  • Supports PostgreSQL 9.4.
  • Enable to set 'latest' in recovery-target-timeline command line option in restore. ticket #89
  • Do not erase the target database directory in restoring with non-existing recovery-target-timeline. ticket #90
  • Enable incremental backup after database creation. ticket #92
  • Remove unsafe code from get_lsn() ticket #94

これはpg_rmanの1.2系列の最新リリースです。

  • PostgreSQL 9.4に対応しました。
  • コマンドラインオプションrecovery-target-timelineにて'latest'を指定できるようにしました。ticket #89
  • コマンドラインオプションrecovery-target-timelineにて無効な値を指定した場合のエラー終了の際に、リストア先のデータベース領域のディレクトリ・ファイルを削除しないようにしました。1.2.10までのバージョンでは、recovery-target-timelineにて無効な値を指定した場合、pg_rman restoreコマンドはエラー終了しますが、リストア先のデータベース領域のディレクトリ・ファイルが消去されていました。ticket #90
  • データベースの新規作成を行った直後に増分バックアップを行えるようにしました。1.2.10までのバージョンでは制約事項として禁止していました。ticket #92
  • get_lsn() 関数に存在した適切でないロジックを修正しました。ticket #94