Я хочу "реплицировать" базу данных на внешнюю службу. Для этого я мог бы просто скопировать всю базу данных (SELECT * FROM TABLE).
Если какие-то изменения сделаны (INSERT, UPDATE, DELETE), мне нужно снова загрузить всю базу данных или файл журнала, описывающий эти операции?
Спасибо!
Похоже, что ваша "внешняя служба" - это не просто другая база данных, поэтому традиционная репликация может не сработать для вас. Более подробная информация об этой услуге будет замечательной, поэтому мы можем настроить ответы. В зависимости от того, как долго вы должны получать данные на свои внешние сервисы и требования к производительности вашего приложения, некоторые основные параметры:
Если вы выберете триггеры, вы сможете настроить существующее решение для репликации на основе триггеров, чтобы обновить внешнюю службу. Я не использовал их, поэтому я понятия не имею, насколько это безумие, просто идея. Некоторые примеры: Bucardo и Slony.
Существует множество способов репликации базы данных PostgreSQL. В текущей версии 9.0 PostgreSQL Global Development Group представила на новый уровень две новые функции Rock Hot Replby и Streaming Replication, поместив PostgreSQL на новый уровень и представив встроенное решение.
В вики есть завершенный обзор новых функций PostgreSQL-9.0: http://wiki.postgresql.org/wiki/PostgreSQL_9.0
Существуют и другие приложения, такие как Bucardo, Slony-I, Londiste (Skytools) и т.д., которые вы также можете использовать.
Теперь, что вы хотите сделать для обработки журнала? Что вы хотите точно? рассматривает