Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL触发器是异步的吗?_Postgresql - Fatal编程技术网

PostgreSQL触发器是异步的吗?

PostgreSQL触发器是异步的吗?,postgresql,Postgresql,抱歉,我不熟悉SQL触发器,需要一些帮助 我在我的一个PostgreSQL表的UPDATE上创建触发器之后。触发器在不同的表上调用DELETE。我的问题是:请求的触发器部分是异步的还是与UPDATE请求同步的 有关更多信息,请参阅我的触发器和函数: CREATE OR REPLACE FUNCTION expire_table() RETURNS trigger AS $expire_table$ BEGIN DELETE FROM object_store WHERE p_tim

抱歉,我不熟悉SQL触发器,需要一些帮助

我在我的一个PostgreSQL表的
UPDATE
上创建触发器之后。触发器在不同的表上调用
DELETE
。我的问题是:请求的触发器部分是异步的还是与
UPDATE
请求同步的

有关更多信息,请参阅我的触发器和函数:

CREATE OR REPLACE FUNCTION expire_table() RETURNS trigger AS $expire_table$
  BEGIN
     DELETE FROM object_store WHERE p_time < NOW() - INTERVAL '6 months';
     RETURN NEW;
  END;
$expire_table$ LANGUAGE 'plpgsql';

CREATE TRIGGER expire_table_trigger
  AFTER UPDATE ON objects
EXECUTE PROCEDURE expire_table();
CREATE或REPLACE函数expire\u table()将触发器作为$expire\u table返回$
开始
从对象_存储中删除,其中p_time

我希望触发器部分是异步的,或者有办法做到这一点。

触发器总是在与语句相同的事务中执行,因此它必须是同步的。没办法


代替触发器,您可以考虑使用一个工作者进程异步处理的队列或使用<代码> Eng/Engult/Engult/Cuff>的架构。

您正在创建一个函数,调用该函数中的触发器,并最终执行一个过程。你想做什么?@AnkitBajpai我想你误读了这个问题。@LaurenzAlbe,是的。接受错误。