Когда моему бэкап-агенту приходит якобы wal-сегмент для копирования на бэкап-сервер - хотелось бы точно знать, что хотя бы с формальной точки зрения этот сегмент не битый.
После анализа имеющейся у меня кучки файлов я вроде бы выяснил, что в начале всех файлов есть (шестнадцатеричная) сигнатура
d0 71 00 07
18:15:02 03/07/2013| kissobak.sh[16757/8552]| ERROR| ST=<UNKNOWN>| File pg_xlog/00000001000000A4000000E6 seems to be invalid, because it contains wrong signature
Хорошо, что после выдачи этого сообщения об ошибке работа агента не завершается (по сути уровень сообщения error - задел на будущее, сейчас это должен быть warning).
Теперь вот думаю: а есть ли у wal-сегментов вообще сигнатура эта?
Погуглил формат xlog/wal-файла - так и не нашёл ничего. Может, кто сырцы Postgres'а рыл и может поделиться сакральным знанием?)