# Install wal-g with Homebrew, Nix

Archival restoration tool for databases. Version 3.0.8 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:wal-g
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install wal-g
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#wal-g
```

  Evidence: nixpkgs package indexes: pkgs/by-name/wa/wal-g/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:wal-g
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/wal-g>
- **Version:** 3.0.8
- **Source summary:** Archival restoration tool for databases
- **Homepage:** <https://github.com/wal-g/wal-g>
- **Repository:** <https://github.com/wal-g/wal-g>
- **Upstream docs:** <https://github.com/wal-g/wal-g#readme>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/wal-g/wal-g/archive/refs/tags/v3.0.8.tar.gz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- wal-g-etcd (cli)
- wal-g-fdb (cli)
- wal-g-gp (cli)
- wal-g-mongo (cli)
- wal-g-mysql (cli)
- wal-g-pg (cli)
- wal-g-redis (cli)
- wal-g-sqlserver (cli)
- wal-g-etcd (alias)
- wal-g-fdb (alias)
- wal-g-gp (alias)
- wal-g-mongo (alias)
- wal-g-mysql (alias)
- wal-g-pg (alias)
- wal-g-redis (alias)
- wal-g-sqlserver (alias)

## Dependencies

- brotli
- libsodium
- lzo

## Build dependencies

- go
- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 3.0.8
- Local data: ok
- Upstream repository: https://github.com/wal-g/wal-g
- Upstream latest detected: v3.0.8 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

WAL-G is a cloud-oriented database backup and restore tool best known in the PostgreSQL world, where it archives WAL segments and base backups for point-in-time recovery. It began as a Go rewrite and successor to WAL-E, the older Python tool used for continuous PostgreSQL archiving, and its identity is closely tied to faster restore paths, parallelism, compression choices, and object-storage workflows.

### Project history

Citus Data introduced WAL-G publicly in August 2017 as a successor to WAL-E and described it as a complete rewrite in Go. The launch rationale was not just language churn: Citus reported restore performance improvements over WAL-E, highlighted parallel restore work, compatibility with existing WAL-E archives, and additional safety checks for incomplete restores.

The first GitHub release, v0.1.0, was published on August 18, 2017. Early 0.1 releases established the PostgreSQL-focused feature set, including encryption and delta backups in v0.1.3 in December 2017, then continued through safety and performance work around WAL prefetching, parallel reads, delta backup behavior, and WAL-E compatibility during 2018 and 2019.

WAL-G later grew beyond its original PostgreSQL-only niche. The project README now presents it as an archival and restoration tool for PostgreSQL, MySQL/MariaDB, SQL Server, MongoDB, Redis, and related database variants, with separate binaries named for target database families. The release stream also shows ecosystem expansion: v3.0.0 in March 2024 collected a large set of changes, while later 3.x releases mention OrioleDB, Cloudberry, MongoDB 8.0, Greenplum, Redis, and SQL Server work.

### Adoption history

WAL-G's adoption followed the operational pattern created by WAL-E: use object storage as the durable archive for physical database backups and transaction logs. The WAL-E repository now calls WAL-E obsolete and points users to alternatives including WAL-G, noting that WAL-G can read, but not write, WAL-E archives and that it is a broader system supporting more databases and compression formats.

The tool became a common package-ecosystem fixture for self-managed PostgreSQL backup setups because it fits common cloud storage and PITR designs without requiring a full backup server. Community and operator writeups describe it as a practical way to stream PostgreSQL backups and WAL to S3-compatible storage and restore to a specific point in time.

By 2026, WAL-G was mature enough to be the compatibility target for newer experiments. ClickHouse's WAL-RUS announcement described WAL-G as mature, battle-tested, and well served in the PostgreSQL community, while proposing a Rust implementation mainly for more predictable memory behavior rather than for replacing WAL-G's backup model.

### How it is used

For PostgreSQL, WAL-G is typically wired into backup scripts and PostgreSQL archiving settings: operators run base-backup commands, push WAL segments as they are generated, and later fetch backups and WAL for recovery. Its documentation frames the PostgreSQL mode around encrypted and compressed full or incremental backups pushed to remote storage rather than staged locally.

Package nerd significance comes from the way WAL-G sits between database internals and cloud object stores. It is not a generic compression tool; it encodes the operational assumptions of WAL archiving, PITR, restore prefetching, backup retention, and compatibility with earlier WAL-E archive layouts.

### Timeline

- 2017-08-18: WAL-G v0.1.0 was released on GitHub, the same day Citus published its introduction of WAL-G as a Go successor to WAL-E.
- 2017-12-19: v0.1.3 added encryption support and delta backups.
- 2018-11-13: v0.2.0 introduced WAL-delta technology and page-prefault work for faster restore/replay workflows.
- 2024-03-17: v3.0.0 shipped as a major accumulated release.
- 2024-08-08: v3.0.3 added full OrioleDB support.
- 2025-01-10: v3.0.5 listed Cloudberry database support and MongoDB 8.0 support among its major features.
- 2026-01-21: v3.0.8 continued the 3.x stable line with infrastructure, PostgreSQL, Redis, MongoDB, Greenplum/Cloudberry, and other database updates.

### Related projects

- WAL-E is the direct predecessor in concept and archive model, while pgBackRest and Barman are adjacent PostgreSQL backup systems. WAL-RUS is a later Rust implementation designed for WAL-G-compatible PostgreSQL archival with a different memory-management profile.

### Sources

- <https://clickhouse.com/blog/walrus-postgres-backups-in-rust>
- <https://github.com/wal-e/wal-e>
- <https://github.com/wal-g/wal-g>
- <https://github.com/wal-g/wal-g/releases>
- <https://wal-g.readthedocs.io/PostgreSQL/>
- <https://www.citusdata.com/blog/2017/08/18/introducing-wal-g-faster-restores-for-postgres/>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Credential files

- Unix: ~/.pgpass, ~/.aws/credentials
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** wal-g
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - wal-g: normalized package name match | nixpkgs package indexes: pkgs/by-name/wa/wal-g/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [brotli](https://www.automicvault.com/pkg/brew/brotli/) - Runtime dependency declared by Homebrew.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [mydumper](https://www.automicvault.com/pkg/brew/mydumper/) - Shares av.db curated category or tags: backup, cli, data, mysql, restore.
- [automysqlbackup](https://www.automicvault.com/pkg/brew/automysqlbackup/) - Shares av.db curated category or tags: backup, cli, data, mysql.
- [percona-xtrabackup](https://www.automicvault.com/pkg/brew/percona-xtrabackup/) - Shares av.db curated category or tags: backup, cli, data, mysql.
- [whodb-cli](https://www.automicvault.com/pkg/brew/whodb-cli/) - Shares av.db curated category or tags: cli, data, mongodb, mysql, postgresql.
- [geni](https://www.automicvault.com/pkg/brew/geni/) - Shares av.db curated category or tags: cli, data, mysql, postgresql.
- [kitchen-sync](https://www.automicvault.com/pkg/brew/kitchen-sync/) - Shares av.db curated category or tags: cli, data, mysql, postgresql.
- [lazysql](https://www.automicvault.com/pkg/brew/lazysql/) - Shares av.db curated category or tags: cli, data, mysql, postgresql.
- [rainfrog](https://www.automicvault.com/pkg/brew/rainfrog/) - Shares av.db curated category or tags: cli, data, mysql, postgresql.

## Combined YAML source

View the package source record on GitHub. [combined/wal-g.yml](https://github.com/automic-vault/db/blob/main/combined/wal-g.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
