我想散列整个redshift表,以检查升级,备份和其他修改后的一致性,这些修改不会影响表数据。
我找到了Hashing Tables to Ensure Consistency in Postgres, Redshift and MySQL,但是该解决方案仍然需要拼写每个列的名称和类型,因此不能以通用方式将其应用于新表。我必须手动更改列名称和类型。
是否还有其他函数或方法可以对整个表进行哈希/校验和以确定它们是否相同?理想情况下,无需拼写该表的特定列和列类型。
答案 0 :(得分:1)
在Redshift中肯定没有内置功能可以散列整个表。
此外,我会稍微注意该文章中建议的方法,因为据我所见,它正在计算列中所有值的哈希,但未将哈希值与行关联标识符。因此,如果第1行和第2行交换了列中的值,则哈希不会更改。因此,这并不是严格计算足够的哈希值(但我可能错了!)。
您可以使用新的Stored Procedures in Redshift进行调查,以查看是否可以创建适用于任何表的通用函数。