[an error occurred while processing this directive]

Сравнение таблиц на удаленных серверах PostgreSQL
Пришлось придумать как сравнить довольно таки объемные таблицы на предмет
одинаковости данных в заданном поле.
Сравнивать построчно слишком долго и накладно таскать эти объемы по сети. 
Выход посчитать md5 сумму по колонке для всех значений.

Для этого выбираем поле по которому будем сравнивать, поле должно быть независимым от серверов. 
Делаем из него blob, и считаем md5.

Пример: есть таблица A и поле B.

   select md5(array_send(array(select B from A order by 1))) as md5;

после это сравнив md5 суммы с обоих серверов можно утверждать об одинаковости набора данных.
 
20.03.2009 , Автор: Тормал
Ключи: postgresql, sql, md5, compare / Лицензия: CC-BY
Раздел:    Корень / Программисту и web-разработчику / SQL и базы данных / PostgreSQL специфика / Оптимизация и администрирование PostgreSQL

[an error occurred while processing this directive]

[an error occurred while processing this directive]