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
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
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.
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
++ We’re big Go fans, most of PeerDB is written in Go: https://github.com/PeerDB-io/peerdb
The 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.