大佬教程收集整理的这篇文章主要介绍了这是否能够在 PostgreSQL 中有一个事务明智的全局变量?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
情况是:我有一个函数 F1,它写入缓冲区,当函数 F1 的 fcinfo->flinfo->fn_mcxt 被释放时,缓冲区将写入外部文件;我还有一个函数 F2,它依赖于那些外部文件,所以当它运行时,我想确保所有现有函数 F1 的缓冲区(在这个事务中)已经写出到外部文件。这两个功能是独立的,除非它们一起执行。
因此,我希望该缓冲区成为此事务中的全局变量,以便 F2 可以检查它并确定它是否为空。如果不为空,F2可以手动写出来。
由于 POSTGReSQL 使用多处理,一个后端无法看到另一个后端的全局变量。您可以编写一个 _pg_init
函数来为此目的创建共享内存段(请参阅 pg_stat_statements
)。这需要将您的库添加到 shared_preload_libraries
。
更简单的替代方法可能是使用 POSTGReSQL 的 LISTEN
/ NOTIFY
工具来同步不同的后端。
以上是大佬教程为你收集整理的这是否能够在 PostgreSQL 中有一个事务明智的全局变量?全部内容,希望文章能够帮你解决这是否能够在 PostgreSQL 中有一个事务明智的全局变量?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。