对于模型可以获得多高的 pk 值是否存在最大值?例如,对于像活动提要模型这样的东西,pk 可以变得非常大。
例如,“Kyle 喜欢这篇文章”、“Alex 评论了这篇文章”等。如您所见,对于每个操作,都会创建一个活动提要对象。是否会达到某种最大阈值?我做了一些研究,但还没有找到一个简洁的答案。如果有一些限制,如何克服这一点?
我目前使用 PostgreSQL 作为我的数据库。
对于模型可以获得多高的 pk 值是否存在最大值?例如,对于像活动提要模型这样的东西,pk 可以变得非常大。
例如,“Kyle 喜欢这篇文章”、“Alex 评论了这篇文章”等。如您所见,对于每个操作,都会创建一个活动提要对象。是否会达到某种最大阈值?我做了一些研究,但还没有找到一个简洁的答案。如果有一些限制,如何克服这一点?
我目前使用 PostgreSQL 作为我的数据库。
Django's auto-incrementing IDs are AutoFields, a subclass of IntegerField. It will generate the primary keys as PostgreSQL integer
, which are signed 32-bit integers with a maximum value of 2147483647, a little over 2 billion.
我要猜测一下,假设 postgreSQL 将主键存储为 64 位无符号整数。如果是这种情况,那么您最多可以有 2^64 个不同的值。即使是 32 位整数,我们也有 4294967296 种可能性。除非你是 twitter 或 facebook,否则你永远不应该对这种限制感到恼火。