v6.0.1 · Released 9 September 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 v5 or earlier
Use a new destination database and fresh configuration/state, unless a DBA performs a separately reviewed reset. v6 does not migrate old safety tables, repair history, or ledger evidence. Do not mix v5 and v6 binaries. Preserve your existing installation and backups.
PostgreSQL 14+ source (15+ for wildcard tables); PostgreSQL 15–18 destination. Repair execution remains disabled by default and is not yet GA.
Read the v6 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: 18.8 KB. Prefer to download both architectures in advance? Get the bundled-binary archive (33.2 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/v6.0.1"
mkdir pgpipe-v6.0.1-demo &&
cd pgpipe-v6.0.1-demo &&
curl -fSL --retry 5 --retry-delay 2 --connect-timeout 20 --max-time 120 -C - -o pgpipe-6.0.1-docker.tar.gz "$BASE/pgpipe-6.0.1-docker.tar.gz" &&
curl -fsSL --retry 5 -o checksums.txt "$BASE/checksums.txt" &&
awk '$2 == "pgpipe-6.0.1-docker.tar.gz"' checksums.txt | shasum -a 256 -c - &&
tar -xzf pgpipe-6.0.1-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
# Dashboard username: admin
docker compose exec pgpipe cat /var/lib/pgpipe/data/pgpipe-admin.password
# Open http://localhost:8086 in your browser
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
On the first docker compose up, pgpipe generates a random admin password. Open the dashboard at http://localhost:8086 and use these credentials:
# Just the password (cleanest, always works)
docker compose exec pgpipe cat /var/lib/pgpipe/data/pgpipe-admin.password
# Or grep the full first-run banner from the logs
docker compose logs pgpipe | grep -A 6 "FIRST RUN — DASHBOARD"
Username is admin. The password is auto-generated on first run, persisted to
/var/lib/pgpipe/data/pgpipe-admin.password (mode 0600), and survives restarts. The "FIRST RUN" log banner only appears the first time — after that, read the password file.
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: 8de5d9aa91d08c00cbb6778d5bb2ad38e44dba63752f425d8d6351a27b1bcf53 | pgpipe_6.0.1_amd64.deb | 9.5 MB | Download |
| Debian / Ubuntu (arm64)
sha256: ae67b5fd142707262d599aaa5e254731fc256ea9a4f897c0f2cb331979761e39 | pgpipe_6.0.1_arm64.deb | 8.2 MB | Download |
| RHEL / Rocky / Fedora (x86_64)
sha256: 6681f603fd63a8b912d591cd89be27bbdd753ba9961d98abff074130c7e587ed | pgpipe-6.0.1-1.x86_64.rpm | 12.7 MB | Download |
| RHEL / Rocky / Fedora (aarch64)
sha256: 69b6f6e7f484f97f66c3b8fa153b8922ca6a638fce05016cdfa8b7bd8ab7e0ff | pgpipe-6.0.1-1.aarch64.rpm | 11.5 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
Debian / Ubuntu (.deb)
wget https://www.pghorizon.com/downloads/pgpipe/v6.0.1/pgpipe_6.0.1_amd64.deb
sudo apt install ./pgpipe_6.0.1_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/v6.0.1/pgpipe-6.0.1-1.x86_64.rpm
sudo dnf install ./pgpipe-6.0.1-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.