在postgresql中查找行的哈希值

时间:2010-10-07 03:39:00

标签: sql postgresql hashcode

有没有办法在postgresql中获取行的哈希码?

我只需要导出一些数据,如果上次导出后数据有一些变化,最后导出的数据行可以存储在一个表中,当我再次需要导出数据时我可以得到散列所有数据的值,只导出那些散列值与上次导出不同的行。

是否可以使用postgresql实现?

谢谢

2 个答案:

答案 0 :(得分:36)

将行转换为文本并使用md5创建哈希:

SELECT
    md5(CAST((f.*)AS text))
FROM
    foo f;

答案 1 :(得分:4)

另一种方法是设置ON INSERT OR UPDATE trigger,将当前时间戳插入last_modified列,然后在导入过程运行时根据此列进行查询。