PostgreSQL data diff

Примечание: этот вопрос не о синхронизации базы данных , схема / структура

, проблема

В моем веб-приложении У меня есть сервер базы данных PostgreSQL (PGS) и сервер бизнес-логики (отдельный компьютер) (BLS), который регулярно (каждую минуту или две) запрашивает «SELECT ALL» для PGS.

Проблема в том, что запрос SELECT ALL может легко возвращать 50-200 МБ каждый раз. Очевидно, что было бы не очень хорошо с точки зрения архитектуры передавать так много данных через Интернет.

Возможное решение

Я хотел бы запустить инструмент diff для PGS и сравнить новый запрос с предыдущим (все это должно быть сделано на PGS). Когда сравнение будет сделано, я бы хотел получить дамп из PGS и перенести его в BLS. Я ожидаю, что дамп на основе diff будет намного, намного меньше, чем весь запрос SELECT ALL.

Вопрос

Существует ли какой-либо инструмент сравнения данных для PostgreSQL, который может выполнять сравнения, сравнивающие данные PostgreSQL между 2 таблицами или 2 дампами?

Примечание: Я бы предпочел какой-нибудь программный инструмент с открытым исходным кодом.

3
задан 23 May 2017 в 15:39

1 ответ

Пост-ГРЭС может сделать весь этот материал для Вас без любых дополнительных инструментов. Сервер производит WAL (Журнал с упреждающей записью) файлы, которые содержат все изменения, сделанные на базах данных. Я думаю, в чем Вы действительно нуждаетесь, передает репликацию потоком. Чтение о:

, Если Вы действительно не хотите говорить о синхронизации схемы базы данных / структура, можно интересоваться решение, описанное в этом ответе.

2
ответ дан 23 May 2017 в 15:39

Другие вопросы по тегам:

Похожие вопросы: