*UPD*: Я воспользовался pg_basebackup + continuous archiving у PostgreSQL + кастомный скрипт ExecStartPre в postgresql@15-main.service
Новые WAL'логи и base бэкапы автоматом заливаются на FTP или Yandex.Disk.
В кастомном скрипте перед стартом я беру последний бэкап и восстанавливаю его + recovery mode, который тащит WAL'ы с FTP или Yandex.Disk'а.