PGHoard – PostgreSQL backup and restore service for cloud object storages
github.com
github.com
* Optimizing for roll forward upgrades in a fully automated cloud environment * Streaming: encryption and compression on the fly for the backup streams without creating temp files on disk * Solid object storage support (AWS/GCP/Azure) * Survive over various glitches like faulty networks, processes getting restarted, etc.
Restore speed is very important for us and pghoard is pretty nice in that respect, e.g. 2.5 terabytes restored from an S3 bucket to an AWS i3.8xlarge in half an hour (1.5 gigabytes per second avg). This means hitting all of cpu/disk/network very hard, but at restore time there's not typically much else to do with them.
I want to look at this (and Wal-G) but am not sure how much of a load I would be putting on our db servers when they do the periodic backups. Our database is pretty heavy on 'history' tables that don't change much once they are written to.
I have gone back to using pg_dump even though its not a real-time snapshot. In the end, replication + pg_dump gets the job done
Our original announcement of PGHoard at https://aiven.io/blog/postgresql-cloud-backups-with-pghoard/ lists some of the reasons we had for building a new system from scratch.
Nowadays there are many good options for handling basebackups and WAL, and one of the largest remaining issues is the lack of parallel WAL apply in PostgreSQL itself, which limits restore throughput quite severely.