postgresql – 避免在多台机器的SERIAL列中重复增加

postgresql – 避免在多台机器的SERIAL列中重复增加,第1张

概述现在我在一台机器上安装了Postgres并创建了一个带有串行列的表.每当插入新行时,此列自动递增.如果我在另一台机器上安装Postgres进行分布式计算并使用串行列创建相同的表,则串行列从1开始?或者我可以为列设置最小值(第一台机器1的最大值)? 默认情况下,SERIAL创建一个以1开头的SEQUENCE. 如果需要,可以修改序列,以便每台机器都有一个不同的起始值,并且所有序列在创建表后都有一个偏 现在我在一台机器上安装了Postgres并创建了一个带有串行列的表.每当插入新行时,此列自动递增.如果我在另一台机器上安装Postgres进行分布式计算并使用串行列创建相同的表,则串行列从1开始?或者我可以为列设置最小值(第一台机器1的最大值)?解决方法 默认情况下,SERIAL创建一个以1开头的SEQUENCE.

如果需要,可以修改序列,以便每台机器都有一个不同的起始值,并且所有序列在创建表后都有一个偏移量.例如,ALTER SEQUENCE the_sequence_name START WITH 2 INCREMENT BY 10.为每台机器提供不同的START WITH值,并确保它们都具有相同的INCREMENT BY.这样每台机器都可以保证获得唯一的ID.

如果你这样做,你可能想要使用bigint键列,并分配像INCREMENT BY 1000这样的大偏移量.这样你就不必在添加机器#11时感到痛苦.

另一种选择是使用uuID主键.

总结

以上是内存溢出为你收集整理的postgresql – 避免在多台机器的SERIAL列中重复增加全部内容,希望文章能够帮你解决postgresql – 避免在多台机器的SERIAL列中重复增加所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1155474.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存