代码之家  ›  专栏  ›  技术社区  ›  ProGirlXOXO

如何散列整个红移表?

  •  0
  • ProGirlXOXO  · 技术社区  · 7 年前

    我想散列整个红移表,以便在升级、备份和其他不应影响表数据的修改之后检查一致性。

    我找到了 Hashing Tables to Ensure Consistency in Postgres, Redshift and MySQL 但解决方案仍然需要拼写出每个列名和类型,因此不能以通用方式将其应用于新表。我必须手动更改列名和类型。

    是否有其他函数或方法可以对整个表进行哈希/校验和运算,以确认它们是相同的?理想情况下,不必详细说明该表的特定列和列类型。

    1 回复  |  直到 7 年前
        1
  •  1
  •   John Rotenstein    7 年前

    Redshift中当然没有内置的散列整张表的功能。

    另外,我对那篇文章中建议的方法要小心一点,因为从我所看到的,它是在计算一列中所有值的散列,但没有将散列值与行标识符相关联。因此,如果第1行和第2行交换列中的值,哈希值不会改变。所以,它没有严格地计算一个足够的散列(但我可能错了!)。

    你可以用新的 Stored Procedures in Redshift