postgresql - 什么哈希算法最适合在 Postgres 中生成唯一 ID?

标签 postgresql hash

我有一个大型地理空间数据集(约 3000 万条记录),目前正在将其导入到 PostgreSQL 数据库中。我需要一个唯一的 ID 来分配给每个记录,但递增整数可能不是一个好主意,因为如果我需要重新导入数据集,则无法可靠地重新创建它。

看来,确定投影中几何数据的唯一散列可能是可靠标识符的最佳选择。能够在 Postgres 中计算哈希值将是有益的,而且速度也会有好处。

在这种情况下我的选择是什么?有没有一种方法非常适合这种情况?

最佳答案

如果您需要一个依赖于数据(并且可以从数据中重新创建)的唯一标识符,最直接的选项似乎是 MD5 hash,它包含在 Posgresql 中(不需要额外的库),并且非常高效并且对于这种情况来说是安全的。

pgcrypto module提供额外的哈希算法,例如 SHA1。

当然,您需要断言要散列的数据是唯一的。

关于postgresql - 什么哈希算法最适合在 Postgres 中生成唯一 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15951686/

相关文章:

python - 有没有一种简单的方法可以在 Python 中逐表将数据库数据从 SQLite 迁移到 Postgres?

sql - 高级 Laravel 查询

postgresql - 从 CSV 导入时忽略重复项

ruby - key?, include? 之间的区别?和成员?在 ruby ?

c# - Crystal Reports 将当前日期改为空值

postgresql - Gitlab CI/CD review阶段访问postgresql

Ruby 计算器 - 哈希值未正确存储

algorithm - md5 的 padding 和 sh256 一样吗?

python - 访问 Python dict 的时间复杂度

java - 散列长字符串进行比较还是比较两个字符串更快?