В рамках своих изысканий пишу субпроект по синхронизации метаданных (именно метаданных, т.е. логики системы, а не хранящихся в ней данных) между серверами postgresql. Работает всё на php, запускается по необходимости и в общем и целом сервер не грузит.
Если кому-то кроме меня может быть полезна такая штука — рад буду узнать, какие функции хотелось бы видеть в ней (не хочется затачивать всё только под свои нужды — таким образом написано много, да так и умерло вместе с отпавшей необходимостью - просто обидно)
Сейчас завершается отладка синхронизации следующих структур БД: схемы, последовательности, пользовательские типы данных, триггеры, хранимые функции, вьюхи, таблицы и их ключи/индексы.
Пока не сделано, но возможно мне понадобится и будет делаться — миграция между версиями системы (для перехода между версиями заранее готовится код, хранящийся в спец таблицах, позволяющий производить миграцию данных перед синхронизаций структуры БД — это может оказаться полезным в случае серьезных изменений, грозящих потерей данных при синхронизации «в лоб»). Так же предполагается возможность выборочной синхронизации данных — с целью распространения между родственными серверами системообразующих справочников.
Для контроля всего этого однозначно будет написан web интерфейс, но пока настройка происходит на уровне правки конфигурационного файла, а контроль работы — чтением таблиц протоколов любыми доступными способами (pgadmin например)...
Не бейте меня сильно и не говорите слово slony — оно делалось несколько для иных целей. Синхронизатора же метаданных я не видел... Может плохо смотрел — ну что делать, жизнь штука вообще глупая.
Так что вот — если кому надо это дело говорите, сильно не пинайте если я велосипед слепил да ещё и криво, ну и так далее по тексту....