Нахождение хеш-значения строки в postgresql - PullRequest
19 голосов
/ 07 октября 2010

Есть ли способ получить хеш-код строки в postgresql?

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

Можно ли добиться с помощью postgresql?

Спасибо

Ответы [ 2 ]

36 голосов
/ 07 октября 2010

Приведите строку к тексту и используйте md5 для создания хэша:

SELECT
    md5(CAST((f.*)AS text))
FROM
    foo f;
4 голосов
/ 07 октября 2010

Альтернативным подходом было бы установить ON INSERT OR UPDATE триггер , который вставлял бы текущую метку времени в столбец last_modified, а затем просто запрашивать на основе этого столбца при запуске процесса импорта.*

...