At a glance
| Supported databases | PostgreSQL, MySQL/MariaDB and SQL Server (no maturity label); Greenplum and Cloudberry production ready; MongoDB and Redis beta; FoundationDB and etcd work in progress |
| Backup types | Full and delta backups (PostgreSQL, MySQL); WAL or binlog archiving; engine-specific methods elsewhere |
| Point-in-time recovery | PostgreSQL via wal-fetch and recovery settings; MySQL via binlog replay with --until; no automatic PITR for MariaDB; not documented for SQL Server |
| Compression and encryption | lz4 (default), lzma, zstd, brotli; libsodium or OpenPGP encryption |
| Storage targets | Amazon S3, Google Cloud Storage, Azure, Alibaba Cloud OSS, Swift, SSH, file system |
| Retention and automation | delete commands for retention and garbage collection; scheduling through cron or your orchestrator |
| Restore options | backup-fetch for full restores, PITR (PostgreSQL, MySQL), catchup for PostgreSQL replicas |
| Deployment | Single Go binary on the database host, configured with environment variables |
| Licensing | Apache 2.0 (LZO support GPL 3.0+), free |
WAL-G suits engineering teams that want a lightweight, scriptable way to push PostgreSQL base backups and WAL straight to S3, GCS or Azure, with delta backups and fast parallel restores. Treat engine support carefully: PostgreSQL is the core use, MySQL and MariaDB interfaces are documented as unstable, and MongoDB and Redis are beta.
Overview
WAL-G is a Go command-line tool, originally written by Katie Li and Daniel Farina with support from Citus Data, and now developed in the open with support from Yandex Cloud among others. For PostgreSQL it takes base backups (backup-push), archives WAL (wal-push) and fetches it during recovery as the restore_command (wal-fetch), which gives point-in-time recovery through PostgreSQL's own recovery settings. Delta backups store only changed pages relative to an earlier backup, and catchup commands help resynchronise a lagging replica.
Data is compressed with lz4 (default), lzma, zstd or brotli, can be encrypted with libsodium or OpenPGP, and is stored in Amazon S3, Google Cloud Storage, Azure, Alibaba Cloud OSS, Swift, over SSH or on a file system. For MySQL and MariaDB, WAL-G streams the output of a backup command you configure (xtrabackup, mariabackup or mysqldump) and pushes and replays binary logs for PITR on MySQL; automatic PITR is not supported for MariaDB. For SQL Server it runs a local proxy that emulates Azure Blob Storage so that native BACKUP TO URL and RESTORE commands land in WAL-G storage.
Key features
- PostgreSQL base backups and WAL archiving to object storage, with wal-fetch as restore_command for PITR
- Delta backups for PostgreSQL and MySQL that store only changes since an earlier backup
- Compression with lz4, lzma, zstd or brotli and encryption with libsodium or OpenPGP
- Storage on S3, Google Cloud Storage, Azure, Alibaba Cloud OSS, Swift, SSH or file system, with failover storages and backup copy
- MySQL and MariaDB backups by streaming xtrabackup, mariabackup or mysqldump, with binlog push, fetch and replay
- SQL Server backups through a local Azure Blob emulator used by native BACKUP TO URL
- Retention commands (delete retain, before, garbage) and permanent backups
Integrations and ecosystem
Pros and cons
Pros
- Free, permissive licence and a single binary that is easy to automate
- Writes straight to the main object stores, with several compression and encryption options
- Delta backups and catchup tools for large PostgreSQL clusters
- One tool can cover several database engines in mixed estates
Cons
- Maturity varies by engine: MongoDB and Redis beta, FoundationDB and etcd work in progress
- MySQL and MariaDB interfaces are documented as unstable
- No GUI or catalogue server; documentation for some commands is thin
- SQL Server support depends on a local proxy, certificate and hosts-file setup
Pricing
WAL-G is free and open source under the Apache License 2.0; the optional LZO compression support is licensed under GPL 3.0 or later. There is no paid edition. Your costs are object storage and the hosts that run it.
Pricing checked on the vendor's official page on 7 November 2026. Prices change; confirm before buying.
Who it is best for
Platform and SRE teams running self-managed PostgreSQL (and sometimes MySQL or Greenplum) who want a scriptable, cloud-native backup tool that writes directly to object storage.
Typical use cases
- Archiving PostgreSQL WAL continuously to S3 or GCS for point-in-time recovery
- Taking daily delta backups of a large PostgreSQL cluster to cut storage and upload time
- Streaming xtrabackup output for MySQL directly to object storage with binlog archiving
- Backing up Greenplum or Cloudberry clusters to object storage
Who should look elsewhere
- Teams that want a managed catalogue and retention model with a dedicated backup server, where Barman or pgBackRest may fit better.
- SQL Server shops wanting a supported Windows tool with a GUI, such as SQL Backup Pro.
Verdict
WAL-G is a strong free option for streaming PostgreSQL backups and WAL to object storage, with delta backups and good compression and encryption choices. Outside PostgreSQL and Greenplum, read the maturity labels: MySQL and MariaDB interfaces are flagged unstable and several engines are beta or in progress.
Frequently asked questions
Which databases does WAL-G support?
The README describes it as a tool for PostgreSQL, MySQL/MariaDB and MS SQL Server, and lists Greenplum and Cloudberry as production ready, MongoDB and Redis as beta, and FoundationDB and etcd as work in progress.
Does WAL-G support point-in-time recovery?
For PostgreSQL, wal-fetch is used as the restore_command, so PostgreSQL recovery targets apply. For MySQL, binlog-replay accepts --until for PITR. The docs say automatic PITR is not supported for MariaDB.
WAL-G or pgBackRest?
Both are free PostgreSQL physical backup tools. WAL-G is a single binary focused on streaming to object storage and covers other engines; pgBackRest has richer documented retention, multiple repositories, block incrementals and delta restore for PostgreSQL only.
Is WAL-G free?
Yes. It is licensed under Apache 2.0, with the optional LZO support under GPL 3.0 or later.
Sources
- WAL-G GitHub repository (README, licence)
- WAL-G releases
- WAL-G documentation
- WAL-G for PostgreSQL
- WAL-G for MySQL and MariaDB
- WAL-G for SQL Server
Checked November 2026.
Listed in: Database Backup & Recovery.
How we research reviews and what star ratings mean: our editorial method.