Возникла у меня недобрая мысль, что использовать bacula для бэкапа PostgreSQL конечно можно, но только эта мега-крутая система запихивания файлов на ленточный накопитель не решит и 10-й части проблемы, потому что кроме тупо копирования в случае полного бэкапа и создания diff-патчей в случае инкрементального ничего толком не умеет.
На мой взгляд, система бэкапа - тупое, унылое и бесполезное поделие, которое при отсутствии каких-то особо высоки запросов можно реализовать и парой скриптов на BASH, если эта самая система бэкапа умеет работать только на уровне файлов и ничего не знает о собственно приложениях, которые их создают.
Например, bacula могла бы, вообще говоря, знать о том, что PostgreSQL способен вести журнал изменений, на основании которого и можно было бы делать инкрементальный бэкап. Мало того, у разработчиков bacula наверное мозг бы вынесло начисто, если бы они задумались над тем, что SQL-формат pg_dump'а фактически бесполезен (если это залить потом psql'ем, в большинстве случаев будет туча ошибок и нерабочая база), а с бинарного формата нормально diff не снимешь: ведь файл может изменяться произвольным образом и при этом будет выглядеть, как совершенно другой, нежели неделю назад - и это при том, что фактически там 99% данных всё те же самые.
По крайней мере, я так оцениваю обстановку. Причём это вполне подтверждается реальной практикой, когда в дифференциальном бэкапе базы PostgreSQL содержался по размеру тот же полный бэкап, поскольку, видимо, diff -алгоритм находил несуществующие различия и не находил очевидные совпадения.
А как реализовали бэкап баз Postgres'а вы?