[英]Postgresql lock shared table with multiple users
所以,我在这里遇到了同步问题; 我们来解释一下情况:
我有一个名为Sendings
的表,它包含以下列:
id sending_object_id type destinatary
id是postgresql为每个表提供的自动序列ID。 发送object_id是一个自定义标识符,type和destinatary ...对于这个特定问题并不重要。
这是表格如何与数据一起显示的示例:
id sending_object_id type destinatary
1 1 1 A7
2 1 1 B1
3 2 2 A1
4 2 2 A2
5 3 1 B8
6 4 1 N1
正如您所看到的,可以将相同的“ object_id
”发送到多个destinataries。 现在我的同步问题出现在两个不同的用户(有两台不同的计算机)尝试插入新的发送时 。
用户A引入新的发送信息,数据库引擎生成SelectMax(sending_object_id)
以便为注册表创建新的sending_object_id。
用户B同时引入了新的发送,生成另一个SelectMax(sending_object_id).
在插入新数据的同时,如何避免重复sending_object_id
?
提前致谢。
我认为需要使用序列 。 它们在任何情况下都保证是独一无二的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.