我有一个大型地理空间数据集(约 3000 万条记录),目前正在将其导入到 PostgreSQL 数据库中。我需要一个唯一的 ID 来分配给每个记录,但递增整数可能不是一个好主意,因为如果我需要重新导入数据集,则无法可靠地重新创建它。
看来,确定投影中几何数据的唯一散列可能是可靠标识符的最佳选择。能够在 Postgres 中计算哈希值将是有益的,而且速度也会有好处。
在这种情况下我的选择是什么?有没有一种方法非常适合这种情况?
最佳答案
如果您需要一个依赖于数据(并且可以从数据中重新创建)的唯一标识符,最直接的选项似乎是 MD5 hash,它包含在 Posgresql 中(不需要额外的库),并且非常高效并且对于这种情况来说是安全的。
pgcrypto module提供额外的哈希算法,例如 SHA1。
当然,您需要断言要散列的数据是唯一的。
关于postgresql - 什么哈希算法最适合在 Postgres 中生成唯一 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15951686/