我是 PostgreSQL 的新手,我仍然在学习很多东西。我的公司正在使用 PostgreSQL,我们正在用大量数据填充数据库。我们收集的数据在本质上非常庞大,并且来自某些类型的视频片段。例如,与大约 15 分钟的视频相关的数据花了我大约 2 天的时间才摄取到数据库中。
我的问题是我有与数小时视频相关的数据集,这些视频需要数周时间才能摄取到数据库中。我被告知需要这么长时间才能摄取的部分原因是因为 PostgeSQK 默认将自动提交设置为 true,并且提交事务需要大量时间/资源。我被告知我可以关闭自动提交,因此该过程将大大加快。但是,我担心的是多个用户将填充此数据库。如果我每 10 秒更改一次程序以提交,并且两个人正试图填充同一张表。第一个人得到一个id
,当他在说记录 7 时,第二个人尝试插入到同一个表中,他们得到相同的id
密钥,一旦第一个人决定提交他的更改,第二个人的id
密钥将已经被使用,从而引发错误。
那么当多人同时摄取数据时,将数据插入 PostgreSQL 数据库的最佳方式是什么?id
在自动提交模式下插入数据时,有没有办法解决向多人发出相同的密钥的问题?