我知道postgreSQL因为事务处理而在执行函数时会锁定一行。所以我尝试在表的最后一行解锁时触发一个函数。
我们举一个例子:
function_one()和function_two在PG中定义。
我的应用程序使用function_one()来添加数据或更新一些东西。完成后,所需的最后一行是解锁,如果需要,我可以启动另一个事务。所以在这一点上我希望postgreSQL在完成function_one()时启动function_two()。
感谢您的回答。
编辑:更多信息
我已经尝试在PG目录上设置一个触发器,但它没有用,因为我有一个视图所需的信息,你无法触发视图的数据。
答案 0 :(得分:1)
因此,要释放锁定,您需要执行以下命令之一:
commit;
rollback;
所以如果你有这样的代码:
function_one();
commit;
function_two();
那就是你要找的东西。从本质上讲,问题是以你指示何时释放锁定的方式来链接你的函数。
答案 1 :(得分:0)
根据您的语言,您可能希望使用可用的异步API。这在PHP,Perl和许多其他语言中都可用,但这是客户端问题,而不是服务器问题。
本质上由客户端决定是否等待函数返回。