PostgresQL nextval 函数的伪代码
Pseudocode of PostgresSQL nextval function
我目前正在为 postgresql 插入 id 使用 nextval() 函数,但现在我想在 python 中实现此函数以生成稍后将插入到 postgresql 中的 id。知道这个函数的伪代码是什么,或者在 python 中。
提前致谢
查看 src/backend/commands/sequence.c
中的 nextval_internal
。
本质上,您锁定对象以防止并发访问,然后根据序列定义递增或递减,解锁对象和 return 新值。
困难的部分是有效地保留此修改,这样您就可以确保在应用程序崩溃时不会处理重复值。
数据库特别擅长高效可靠地保存此数据,因此您最好使用数据库序列,而不是试图re-invent 控制轮子。
我目前正在为 postgresql 插入 id 使用 nextval() 函数,但现在我想在 python 中实现此函数以生成稍后将插入到 postgresql 中的 id。知道这个函数的伪代码是什么,或者在 python 中。 提前致谢
查看 src/backend/commands/sequence.c
中的 nextval_internal
。
本质上,您锁定对象以防止并发访问,然后根据序列定义递增或递减,解锁对象和 return 新值。
困难的部分是有效地保留此修改,这样您就可以确保在应用程序崩溃时不会处理重复值。
数据库特别擅长高效可靠地保存此数据,因此您最好使用数据库序列,而不是试图re-invent 控制轮子。