Сравнение таблиц на удаленных серверах PostgreSQL |
[исправить] |
Пришлось придумать как сравнить довольно таки объемные таблицы на предмет
одинаковости данных в заданном поле.
Сравнивать построчно слишком долго и накладно таскать эти объемы по сети.
Выход посчитать md5 сумму по колонке для всех значений.
Для этого выбираем поле по которому будем сравнивать, поле должно быть независимым от серверов.
Делаем из него blob, и считаем md5.
Пример: есть таблица A и поле B.
select md5(array_send(array(select B from A order by 1))) as md5;
после это сравнив md5 суммы с обоих серверов можно утверждать об одинаковости набора данных.
|
|
|
|
Раздел: Корень / Программисту и web-разработчику / SQL и базы данных / PostgreSQL специфика / Оптимизация и администрирование PostgreSQL |