Backing Up PostgreSQL to Unified Data Vault Using WAL-G

You can back up PostgreSQL databases to Commvault Unified Data Vault using WAL-G, allowing you to leverage Commvault's secure, scalable storage while maintaining your existing backup workflows.

Backing Up PostgreSQL to Unified Data Vault Using WAL-G

WAL-G (Write-Ahead Logging – Go) is a high-performance backup and restore tool for databases, primarily designed for PostgreSQL, MySQL, MongoDB, and other relational or document databases. It is a successor to WAL-E, written in Go for speed and reliability. WAL-G focuses on streaming backups, incremental backups, and integration with cloud object storage, making it suitable for modern cloud-native architectures.

Why WAL-G is Ideal for S3-Compatible Backup

WAL-G works with any storage exposing S3 APIs, enabling vendor flexibility and eliminating dependency on AWS. This supports private or hybrid cloud deployments while maintaining compatibility with standard S3 backup workflows.

Getting Started

System Requirements

  • PostgreSQL database instance
  • WAL-G installed on the PostgreSQL server or client machine
  • Linux machine that can access both PostgreSQL and the Commvault S3 endpoint

Installation

Install WAL-G on your PostgreSQL server. For installation instructions, see the WAL-G documentation.

Before You Begin

Ensure that your infrastructure administrator has created an S3 endpoint.

  1. Create an Unified Data Vault.

  2. Get Unified Data Vault Keys.

Environment Setup

Configure the following environment variables to connect WAL-G to your Commvault S3 endpoint:

export WALG_S3_PREFIX=s3://postgress3
export AWS_ENDPOINT=http://sky.testlab.commvault.com:5005/S3
export AWS_ACCESS_KEY_ID='AKIAlgG1A7xgf5pKHYdTA79D'
export AWS_SECRET_ACCESS_KEY='0qxqC975jtWM=P9cD=58uBBLWu6CTlvfwgMiCA87'

Replace the values with your specific configuration:

  • WALG_S3_PREFIX: The S3 bucket name for PostgreSQL backups
  • AWS_ENDPOINT: Your Commvault S3 endpoint URL
  • AWS_ACCESS_KEY_ID: Your S3 access key
  • AWS_SECRET_ACCESS_KEY: Your S3 secret key

Run PostgreSQL Backup

Use the following command to perform a full backup of your PostgreSQL database:

wal-g backup-push /postgres/data/pgdata --full

Example output:

INFO: 2026/01/14 15:27:21.458456 Backup will be pushed to storage: default
INFO: 2026/01/14 15:27:21.508828 Doing full backup.
INFO: 2026/01/14 15:27:21.516561 Calling pg_start_backup()
...
INFO: 2026/01/14 15:41:11.788247 Starting part 117 ...
INFO: 2026/01/14 15:41:11.789526 backup_label
INFO: 2026/01/14 15:41:11.789692 tablespace_map
INFO: 2026/01/14 15:41:11.790054 Finished writing part 117.
INFO: 2026/01/14 15:41:11.814247 Querying pg_database
INFO: 2026/01/14 15:41:13.821120 Wrote backup with name base_00000001000000250000008B to storage default

List PostgreSQL Backups

Use the following command to view all available backups stored in the Unified Data Vault:

wal-g backup-list

Example output:

INFO: 2026/01/14 15:59:07.024369 List backups from storages: [default]
backup_name                   modified             wal_file_name            storage_name
base_0000000100000016000000BA 2026-01-14T05:54:25Z 0000000100000016000000BA default
base_00000001000000250000008B 2026-01-14T10:11:13Z 00000001000000250000008B default

Restore PostgreSQL Backups

Use the following command to restore a specific backup from the Unified Data Vault:

wal-g backup-fetch /postgres/data/restore/ base_00000001000000250000008B

Example output:

INFO: 2026/01/14 16:04:13.154436 Selecting the backup with name base_00000001000000250000008B...
INFO: 2026/01/14 16:04:13.154925 Backup to fetch will be searched in storages: [default]
INFO: 2026/01/14 16:05:18.566538 Finished extraction of part_008.tar.lz4
INFO: 2026/01/14 16:05:19.430146 Finished extraction of part_006.tar.lz4
...
INFO: 2026/01/14 16:12:21.666749 Finished extraction of part_114.tar.lz4
INFO: 2026/01/14 16:12:21.694423 Finished extraction of pg_control.tar.lz4
INFO: 2026/01/14 16:12:21.709959 Finished extraction of backup_label.tar.lz4
INFO: 2026/01/14 16:12:21.710242
Backup extraction complete.

Additional Resources

For more information about WAL-G features and advanced configuration options, see the WAL-G documentation.

×

Loading...