有没有办法在postgresql中获取行的哈希码?
我需要导出一些数据,只有在最后一次导出后数据有一些变化,最后导出的数据行可以存储在一个表中,当我再次需要导出数据时我可以得到所有的哈希值数据并仅导出具有与上次导出不同的哈希值的行.
是否可以使用postgresql实现?
谢谢
假设你有一个相当大的(对于"大"的本地定义),但相对稳定的表.
现在,我想要对整个表的某些内容(任何类型)进行校验和.
天真的方法可能是遍历整个表,采用每行上每列连接的校验和(比方说,MD5),然后将它们连接起来并取其MD5sum.
从客户端开始,可以通过逐步将列的值附加到MD5求和例程中来逐步优化,逐步改变该值.
原因是,在将来的某个时刻,我们希望重新连接到数据库,并确保没有其他用户可能改变了表:包括INSERT,UPDATE和DELETE.
有没有更好的方法来确定特定表是否发生了任何更改?还是更有效/更快的方式?
更新/澄清:
(这适用于Postgres,如果它有帮助的话.我宁愿避免戳交易期刊或类似的东西,但如果有办法这样做,我不反对这个想法.)