python - Django+PostgreSql : Can I run out of id/pk?

标签 python django postgresql

在我的应用程序中,我将需要一个设置,其中每个用户在数据库中都有一些派生/计算的信息。它应该是最多 100 个不同的数据集,每个用户大约 100 行 (100x100)。这些行需要大约每三个月刷新一次。因此,假设有 10000 个用户,如果每个人都使用所有一百个位置,那么每 3 个月将重新创建 1 亿行。据我所知,Postgre int 字段是 2147483647,即 2100M+。那么,使用此设置,我会在大约 5 年内用完 id/pk 吗?

我应该重新考虑我的设置还是有解决办法?

我使用的是 Python 2.7.6,PostgreSQL 服务器是 9.3 和 Django 1.8。

最佳答案

我的第一直觉是使用 BigAutoField ,但这在 Django 1.8 中不存在。在任何情况下,您都可以像这样使用它:

from django.db import models

class CustomIDModel(models.Model):
    id = models.BigAutoField(primary_key=True)

class SomeModel(CustomIDModel):
    some_field = model.BooleanField()
    # More

Django 1.8 确实有 UUIDField , 然而。这更大,但应该可以解决问题。

import uuid
from django.db import models

class CustomIDModel(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)

class SomeModel(CustomIDModel):
    some_field = model.BooleanField()
    # More

关于python - Django+PostgreSql : Can I run out of id/pk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46946697/

相关文章:

python - 如何使用标准化标记透明度创建散点图

python - 在朴素贝叶斯中获取特征重要性

python - 橙色终端文本

django - 无法在开发模式下启动 Django-Tailwind

postgresql - Slick 中具有不同数据类型的列的左连接

python - 带有 python 扩展的 VS2015 链接器错误

javascript - 如何访问Django序列化的JSON对象

python - Django 应用程序 - 将用户名和密码存储在 mysql 数据库或 openldap 中?

sql - 使用 Postgres 获取每小时的总使用时间

python - 实时获取 SQL Server 更新的好方法是什么?