wal-g

Archival and Restoration for databases in the Cloud

OTHER License

Stars
3.1K
Committers
205

Bot releases are visible (Hide)

wal-g - v3.0.1 Latest Release

Published by x4m 5 months ago

This is a technical pre-release aimed at mitigating several CVEs in dependencies (#1675, #1715). These vulenrabilities have no known ways to be exploited against WAL-G. But these days we should keep CVE scanners calm.
Also this pre-release gives access to several features that didn't make it into 3.0.0 because were not tested enough (#1662, #1646, #1652).
As usual, handful of bugs fixed.

Thanks to everyone who contributed!

What's Changed

New Contributors

Full Changelog: https://github.com/wal-g/wal-g/compare/v3.0.0...v3.0.1

wal-g - v3.0.0

Published by github-actions[bot] 7 months ago

Hello everyone!

This is a much-anticipated release. In the future, we will strive to avoid accumulating such a large number of changes. We will code frequently, ship frequently, and release frequently!

Noteworthy Changes

  • Every database engine now benefits from failover storage. This technique can save the day if one of the storage systems goes down. However, do not forget to monitor them anyway.
  • For Postgres, we have a WAL archiving daemon available. Its primary purpose is to improve the efficiency of parallel archiving. Additionally, WAL-G supports the partial restoration of a cluster. If you have large, unnecessary tables, you can exclude them from the restoration process, the Postgres will skip over the WAL records for these tables.
  • Greenplum's PITR (Point-in-Time Recovery) is undergoing its maturation process. Partial restore is supported in a similar way to Postgres. We now have tools to verify the integrity of AO\AOCS files in storage without actually restoring backups. This technique is necessary to ensure developers can sleep well, as Greenplum backups are relatively new, and extra precautions need to be taken to ensure they are safe and reliable.
  • MongoDB backups can now benefit from binary backups, which significantly reduce the impact of backups on a running workload.
  • MySQL now supports incremental backups, also known as delta backups. However, this feature is still in beta mode and the API may change in the future.
  • Also, we now have beta support for etcd. Changes necessary for real PITR have not yet been merged into etcd, and can be found at https://github.com/etcd-io/etcd/pull/17233.

Detailed changes log

New Contributors

Full Changelog: https://github.com/wal-g/wal-g/compare/v2.0.1...v3.0.0

wal-g - 2.0.2-rc1

Published by usernamedt almost 2 years ago

This is a pre-release to test the aws iam roles config setting.

wal-g - v2.0.1

Published by usernamedt about 2 years ago

Release notes:
This release mainly consists of various bug fixes and improvements.

Common:

  • Add arm(aarch64) build pipeline for ubuntu20.04 binaries (#1304)

PostgreSQL:

  • Add warning output on backup-fetch retries (#1325)
  • Remove redundant check for --without-files-metadata flag (#1321)
  • PostgreSQL 15 Support (#1319)
  • Fix of deleting WAL-E backups (#1292)

MySQL/MariaDB:

  • Fix a regression in MariaDB backup-push handler (#1313)
  • Binlog cache fixes (#1281)

Greenplum:

  • Optimize delete handler (#1300, #1302)
  • Optimize storage listing queries during the backup push (#1312)
  • Use AO files metadata instead of backup references (#1308)
  • Refactor AO/AOCS storage metadata queries (#1280, #1278)

Storages:

  • Azure authentication using the default credential chain (#1282)
  • Update aws-sdk-go to v1.44.7 (#1262)
  • Add check read/write to storage tools (#1275)
wal-g - v2.0.0

Published by usernamedt over 2 years ago

Release notes:

This release contains a huge amount of new features, bug fixes, and performance improvements. It is worth noting that v2.0 Postgres delta backups are not backward-compatible with the pre-2.0 versions. It means that the v2.0 delta backup can't be restored with the v1.1 or earlier versions. Also, this release introduces the initial support for Greenplum physical backups.

WAL-G for MySQL now supports the parallel backup-push/backup-fetch and has an optimized binlog upload mechanism. WAL-G for SQLServer now supports the backup encryption and compression as well as the external storage backup import/export.

Common:

  • Update lz4, brotli #1165, #1179
  • Multiple libsodium fixes #1087, #1227
  • Bash/zsh shell completions #1250, #1252
  • Add a 'flags' subcommand #1033
  • Disable CPU Limits in turbo mode #1121
  • Metrics forwarding via statsd protocol #1240

SQLServer:

  • Add SQLServerDBConcurrency setting to limit concurrent database operations #1067
  • Add LATEST keyword handling #1110
  • Add norecovery option for backup log command #1115
  • Add SQLServer compression / encryption #1161
  • Backup import and export to the external storage #1184

Postgres:

  • Add CopyComposer for full backups optimization using remote copy API #1012
  • Add streamed JSON sentinel serialization to decrease memory usage #1103
  • Extract heavy files and tarfilesets from the backup sentinel #1114
  • Introduce WALG_TAR_DISABLE_FSYNC to skip fsync during backup-fetch #1144
  • Add reduced memory usage backup mode #1101
  • Improvements and fixes for remote backup #1175
  • Add pgBackRest backups restore support (beta) #1139, #1202
  • Add 'wal-restore' command #977
  • Add 'delete garbage' command #1217, #1218
  • Return custom error code when WAL file does not exist #1195
  • Add WALG_ALIVE_CHECK_INTERVAL to fail backup on Postgres process failure #1260
  • Reformat LSN output #1259

MySQL:

  • Add wal-g binlog-analyze #1085
  • Check binlog GTIDs before pushing binlogs to S3 #1190
  • Add --check-gtids to wal-g binlog-push #1085
  • Add --until-binlog-last-modified-time option to wal-g-mysql binlog-replay #1154
  • Improve MySQL restore performance #1131
  • Allow backups on cascade replicas #1168
  • Fix mysql backup of a lagging replica #1223
  • Make mysql bilong-push status observable to 3rd party tools #1229

Greenplum:

  • Initial physical backups support for GPDB 6.19.2+. API might change in the future versions.

Storages:

  • Add get/put/rm/cat to storage tools #1069, #1164
  • S3: Add download by range #1083
  • S3: Add connection reset retries #1137
  • S3: Add WALG_S3_MAX_RETRIES setting #1148
  • S3: Fix S3_LOG_LEVEL setting #1158
  • S3: AWS authentication fixes #1209
  • S3: Yandex Cloud session token auth support #1213
  • SSH: Ensure trailing delimiter in the storage prefix #1130
  • Azure: Switch to the recommended azblob SDK #1135, #1171
  • Azure: Fix ListFolder never returning error #1208
  • Swift: Ignore files that were not found during ListFolder #1129
wal-g - v2.0.0-rc1

Published by usernamedt over 2 years ago

This is a pre-release to test S3 authentication with mechanisms other than key/secret.

wal-g - v1.1.3-rc

Published by usernamedt almost 3 years ago

This pre-release introduces the Greenplum physical backups support.

wal-g - v1.1.2-rc

Published by usernamedt almost 3 years ago

This pre-release introduces the S3_LOG_LEVEL setting to help with debugging the S3 storage interaction issues.

wal-g - v1.1.1-rc

Published by usernamedt almost 3 years ago

This is a pre-release intended to test the s3 connection reset retries fix (https://github.com/wal-g/wal-g/pull/1137).

wal-g - v1.1

Published by usernamedt about 3 years ago

Some interesting features/fixes:

  • Include libsodium in the GitHub release builds. Exit with failure if libsodium is requested but WAL-G was not compiled with libsodium support #1062 CVE-2021-38599
  • UserData is now required to be a valid JSON #1049
  • backup-list now sorts backups by the astronomical time of the completition #907

Postgres:

  • .history files overwrite prevention fix #1052
  • wal-verify can now be run from a standby #1014
  • wal-verify now ignores the permanent backups #1014, #1002

MongoDB:

  • Add support for MongoDB 5.0 #1041

SQLServer:

  • Fix MSSQL driver import #1038

MySQL:

  • Add --turbo flag to disable limiters #1027
  • Fix --detailed backup-list bug #1026
  • Add --until flag to binlog-push #1005

Redis:

  • Add 6.2 support & redis-cli bug workaround #1022

Storages

wal-g - v1.0

Published by usernamedt over 3 years ago

Release notes:

This time we decided to bump the number to 1.0 to switch to a common versioning pattern.
WAL-G 1.0 is compatible with prior versions (v0.2.0+). This might change with later releases.
Also, WAL-G 1.0 can restore WAL-E backups and WALs.
Good news for non-PostgreSQL databases: WAL-G is now production-ready for MS SQL, MySQL databases, meanwhile the API can be changed in future releases. MongoDB and Redis support is in the beta stage.

Some interesting features/fixes:

  • #780 PostgreSQL remote backups
  • #905 Improve compatibility with PostgreSQL 13, introduced WALG_PREFETCH_DIR option
  • #824 New option was added to wal-verify, now it requires an argument timeline|integrity
  • #903 It's now not allowed to create non-permanent delta backups from permanent backups
  • #842 Fix compatibility with S3 implementations that do not support ListObjectsV2
  • #950 It's now again possible to tell WAL-G to rename .ready files to .done directly
  • #898, #962 WAL prefetch is now slightly faster
  • #858 Catchup-list command to list delta backups taken specifically for catchup
  • #847 Support for Yandex Cloud KMS
  • #817, #833 Multipart retries for GCS storage
  • #873 Support for AzureUSGovernmentCloud, AzureChinaCloud, AzureGermanCloud
  • #899 Add metadata for WAL files
  • #913, #917 New option to delete single backup for PostgreSQL
  • Add Redis backups. Now we have Redis support with backup-fetch, backup-push, backup-list and delete commands. For full info see Redis.md
  • Add MySQL catchup mode: allow replay binlogs while uploading new ones
  • Add SQLServer single database restore with renaming
  • Huge amount of bug fixes, tests and improvements for Redis/MongoDB/SQLServer/etc

Thanks!

wal-g - v0.2.22

Published by x4m over 3 years ago

This is QA pre-release per request #970
We will cut a release when the QA cycle will be finished.

wal-g - v0.2.21

Published by x4m over 3 years ago

This is QA pre-release to test changes in background WAL upload

wal-g - v0.2.20

Published by x4m over 3 years ago

This is QA pre-release intended to test libsodium settings.
#776

wal-g - v0.2.19

Published by x4m almost 4 years ago

Notable changes in this release include:

  1. Fixes for S3 and GCP storages #656 #756.
  2. Add wal-show command to get information about wal storage folder.
  3. Add wal-verify command. It checks the integrity of WAL history starting from the oldest backup available in current timeline history.
  4. Add wal-receive command. You can use WAL-G as a replica running on another host to ensure RPO=0. This is beta functionality: API may change in the future.
  5. Add reverse delta unpack for backup-fetch (--reverse-unpack flag).
  6. Add redundant archives skipping for backup-fetch (--skip-redundant-tars flag, designed to work in pair with reverse delta unpack).
  7. Add page checksum verification for backup-push (--verify flag).

You can find more about some of these new features in Daniil Zakhlystov's post

wal-g - v0.2.18

Published by x4m almost 4 years ago

This is QA prerelease to test new wal-receive feature.

wal-g - v0.2.17

Published by x4m about 4 years ago

This is QA pre-release to cope with AWS S3 SDK bug. See https://github.com/wal-g/storages/pull/22, #656 and #727 for details.

wal-g - v0.2.16

Published by x4m over 4 years ago

This is a QA pre-release to test refined logic of parallel WAL upload.
See #644 for details.

wal-g - v0.2.15

Published by g0djan over 4 years ago

Notable changes in this release include:

  • Support of Libsodium encryption
  • Retryer for AWS storage
  • Go modules
  • Add catchup commands. It allows cut replication lag on a PostgreSQL cluster.
    Simple scenario:
  1. Get current LSN of a replica with high replication lag.
  2. Create an incremental backup with catchup-push since the replica LSN.
  3. Apply it to the replica with catchup-fetch command.

Thanks for all your contributions, bug reports, and feature requests!

wal-g - v0.2.14a

Published by x4m over 4 years ago

Draft prerelease to test #593