v7.0.0 · Released 9 October 2026 See what's new →
Download pgpipe
Linux packages and a small Docker-only quickstart for Intel/AMD64 and ARM64. Verify the SHA-256 checksum before running, especially on production hosts.
Upgrading from v6 or earlier
Use a new destination database and fresh configuration/state, unless a DBA performs a separately reviewed reset. v7 does not migrate old safety tables, repair history, or ledger evidence. Do not mix old and new binaries. Preserve your existing installation and backups.
PostgreSQL 14–18 source (15+ for wildcard tables); PostgreSQL 15–18 destination, on the same or a newer major version than the source. Repair execution remains disabled by default and is not yet GA.
Read the v7 upgrade guidanceThe fastest way to try pgpipe.
A small bundle that starts two PostgreSQL databases and pgpipe. Only Docker with Compose v2 is required; no Make, Go, or source checkout. The first build downloads the binaries for your architecture and checks their SHA-256 hashes. The dashboard binds only to localhost:8086. For disposable local evaluation, not production.
Quickstart download: 22.6 KB. Prefer to download both architectures in advance? Get the bundled-binary archive (37.8 MB). It uses the same Compose commands; Docker base images may still need downloading.
1. Grab the files
BASE="https://www.pghorizon.com/downloads/pgpipe/v7.0.0"
mkdir pgpipe-v7.0.0-demo &&
cd pgpipe-v7.0.0-demo &&
curl -fSL --retry 5 --retry-delay 2 --connect-timeout 20 --max-time 120 -C - -o pgpipe-7.0.0-docker.tar.gz "$BASE/pgpipe-7.0.0-docker.tar.gz" &&
curl -fsSL --retry 5 -o checksums.txt "$BASE/checksums.txt" &&
awk '$2 == "pgpipe-7.0.0-docker.tar.gz"' checksums.txt | shasum -a 256 -c - &&
tar -xzf pgpipe-7.0.0-docker.tar.gz &&
cd docker 2. Bring the stack up
# Prepare protected storage and start the isolated demo
docker compose up -d --build --wait --wait-timeout 180
# Generate a dashboard password; save it before continuing
docker compose exec pgpipe pgpipe admin reset-password --generate -c /etc/pgpipe/data/pgpipe.yaml &&
docker compose restart pgpipe &&
docker compose up -d --wait --wait-timeout 180
# Open http://localhost:8086 and sign in as admin
docker compose logs -f pgpipe 3. See replication in action
# Change a source row
docker compose exec source-db psql -U postgres source_db \
-c "UPDATE public.users SET name = 'pgpipe demo' WHERE id = 1;"
# Check the destination after replication catches up
docker compose exec dest-db psql -U postgres dest_db \
-c "SELECT id, name FROM public.users WHERE id = 1;"
# Stop while preserving demo databases, configuration, and state
docker compose down
# Optional: permanently delete this disposable demo's data
# docker compose down --volumes Logging into the dashboard
Use the password printed by the reset command in step 2 to sign in as admin at http://localhost:8086. To recover a forgotten password, run:
docker compose exec pgpipe pgpipe admin reset-password --generate -c /etc/pgpipe/data/pgpipe.yaml &&
docker compose restart pgpipe &&
docker compose up -d --wait --wait-timeout 180 Save the new password in a password manager: it is shown once. The protected password file stores only an Argon2id hash, and service logs do not contain the password. Run the command as the container's default service user, not root. Ordinary restarts keep your existing password.
The seed configuration is copied into a writable named volume on first start. Later host-file edits do not overwrite that retained configuration. The setup-only administrator credential is removed after bootstrap; it is never passed to the pgpipe runtime.
Container image
Dockerfile
Alpine-based, amd64 / arm64. Downloads checksum-pinned binaries for your architecture, with separate bootstrap and runtime images.
Compose
compose.yaml
Isolated demo databases, protected storage bootstrap, and a loopback-only dashboard. PostgreSQL durability settings remain enabled.
Config
pgpipe.yaml
Disposable demo defaults for the private databases, runtime-owned configuration, and dashboard. Repair execution stays disabled.
Running pgpipe against your own databases? Use the guided initialization workflow to prepare protected destination storage and verify the runtime role. Do not substitute real credentials into the demo bootstrap scripts or reuse old demo volumes.
Linux packages
| Platform | File | Size | Download |
|---|---|---|---|
| Debian / Ubuntu (amd64)
sha256: facd9a2b93686c27c99015a9c9b7ad0d7b8d7c1512983a6caae024f438f0f6b2 | pgpipe_7.0.0_amd64.deb | 10.7 MB | Download |
| Debian / Ubuntu (arm64)
sha256: 734b93fe1d535d5bafaadd301b441722b95e80b5f7eb8e5e5331b11491860c23 | pgpipe_7.0.0_arm64.deb | 9.3 MB | Download |
| RHEL / Rocky / Fedora (x86_64)
sha256: 30afa401672a4a6af4298be6d31dc4c3a4c1fb311ddbbc3fba129b3cc67cde03 | pgpipe-7.0.0-1.x86_64.rpm | 14.1 MB | Download |
| RHEL / Rocky / Fedora (aarch64)
sha256: 8e01b601885596d06651d200b88fa0b66a7d4813e790f15b1c21f05f6436d36f | pgpipe-7.0.0-1.aarch64.rpm | 12.9 MB | Download |
Verification & companion files
- checksums.txt — SHA-256 for binaries, Linux packages, and the Docker bundle
- THIRD_PARTY_LICENSES.txt — open-source notices
- CHANGELOG.md — release history and upgrade notes
- REPAIR_OPERATOR_RUNBOOK.md — approval, recovery, and operational safeguards
- DESTINATION_SAFETY_CONTRACT.md — protected storage and runtime-role requirements
- VERIFICATION_RECOVERY.md — verification, repair, and reviewed recovery
- SUPPORT_MATRIX.md — supported combinations and qualification limits
Debian / Ubuntu (.deb)
wget https://www.pghorizon.com/downloads/pgpipe/v7.0.0/pgpipe_7.0.0_amd64.deb
sudo apt install ./pgpipe_7.0.0_amd64.deb
sudo -u pgpipe -- /usr/bin/pgpipe init -c /etc/pgpipe/pgpipe.yaml
sudo systemctl start pgpipe RHEL / Rocky / Fedora (.rpm)
wget https://www.pghorizon.com/downloads/pgpipe/v7.0.0/pgpipe-7.0.0-1.x86_64.rpm
sudo dnf install ./pgpipe-7.0.0-1.x86_64.rpm
sudo -u pgpipe -- /usr/bin/pgpipe init -c /etc/pgpipe/pgpipe.yaml
sudo systemctl start pgpipe Before starting a native installation
Prepare the source replication role and destination application-schema grants first. Run pgpipe init as the service user, open its exact random loopback URL, and paste the separate setup token. For a remote host, use the printed SSH-tunnel command.
During finalization, the wizard uses a temporary destination administrator credential to prepare protected safety storage, verifies the restricted runtime login, and discards the administrator credential. The service remains inactive until initialization completes. Package installation and upgrades never connect to PostgreSQL or start/restart pgpipe.
Behind an HTTPS-terminating reverse proxy, add the exact public HTTPS origin without a trailing slash to server.csrf.trusted_origins.
First time using pgpipe?
The Docker demo includes sample source and destination databases, with protected storage prepared automatically.
See the quickstartpgpipe is provided as-is, free of charge, with no support SLA. For commercial support and managed deployments, talk to us.