postgresql支持异步函数吗?如果支持,它的语法是什么

postgresql支持异步函数吗?如果支持,它的语法是什么,postgresql,Postgresql,我们有一个要求,即命令应该在上一个事务完全执行之前到达UI 所以需要一个异步函数或异步触发器 或者我们可以在DB中的特定表上进行异步提交???您可以使用它在事务内部执行查询,而该事务不会被它隔离-在提交之前,甚至在回滚之后,结果将在外部可用 create extension dblink; create table logs (id serial, log text); create or replace function log_me() returns void as $$ begin

我们有一个要求,即命令应该在上一个事务完全执行之前到达UI 所以需要一个异步函数或异步触发器 或者我们可以在DB中的特定表上进行异步提交???

您可以使用它在事务内部执行查询,而该事务不会被它隔离-在提交之前,甚至在回滚之后,结果将在外部可用

create extension dblink;

create table logs (id serial, log text);

create or replace function log_me()
returns void
as $$
begin
  perform dblink('dbname=postgres', $q$ INSERT INTO logs (log) values ('Hello world'); $q$);
  perform pg_sleep(100);
end;
$$
language plpgsql;

select log_me();

--in different session/conenction, while function still waits on pg_sleep - returns 1 row
select * from logs;

dblink还可以发送异步查询:如果您需要的话。

听起来更像是自动提交/xact挂起和恢复。没有,但是有dblink。