6/28/2026 at 7:05:55 AM
I must say I'm quite pleased to see how well Go version works. It does only use 1.5x the CPU and (predictably) much more RAM/VRAM, but not a crazy amount either (the expected increase is 2x).Of course you can write a more optimal version in C / C++ / Zig / Rust, but at the same time Go is much easier to write and you don't pay for the convenience with an absurd performance loss like in Python or PHP
by nasretdinov
6/28/2026 at 1:01:37 PM
indeed, wal-g actually started as a port of wal-e which was Python: https://www.citusdata.com/blog/2017/08/18/introducing-wal-g-...wal-g was a much larger improvement over wal-e. we're optimizing the margins here
by __s
6/28/2026 at 1:08:50 PM
I'd like to use the one getting the most community support. So too soon to wait for Rust vs Go. Although on paper, Rust is better.by sgt
6/28/2026 at 1:14:25 PM
tbf it took 4 years since PG15 support was added for me to fix remote BASE_BACKUP support & wal-g base backups being inconsistent on PG15+ (parameter typo had pg_backup_stop return before wal archived far enough for consistency)https://github.com/wal-g/wal-g/pull/2262
but yes, this is young project, so fair take
by __s
6/28/2026 at 1:25:05 PM
++ We’re big Go fans, most of PeerDB is written in Go: https://github.com/PeerDB-io/peerdbThe importance of optimizing (resource) margins and having predictable memory usage increases significantly in the DBaaS/Postgres world, where your process coexists and competes with other critical workloads.
Also, WAL-RUS isn’t rocket science. Postgres already exposes a bunch native constructs for WAL archival, making development fairly straightforward even in Rust.
TL;DR: when to choose Rust or Go really depends on the workload and what you are going after.
by saisrirampur