我正在使用 postgres 中的外部数据包装器,使用 multicorn 并使用触发器在外部表中插入数据,但是我不希望 postgres 在触发器后等待响应,只需触发器插入它然后忘记。这怎么可能。
实际上我正在将它用于外部表
CREATE FOREIGN TABLE media_es (
id BIGINT,
title TEXT,
description TEXT,
tags TEXT,
query TEXT,
score NUMERIC
)
SERVER multicorn_es
OPTIONS (
host 'elasticsearch',
port '9200',
index 'test',
type 'media',
rowid_column 'id',
query_column 'query',
score_column 'score'
);
CREATE TRIGGER es_insert_media
AFTER INSERT
ON media
FOR EACH ROW
EXECUTE PROCEDURE index_media();
CREATE OR REPLACE FUNCTION index_media()
RETURNS trigger
AS $def$
BEGIN
INSERT INTO media_es
(
id,
title,
description,
tags
)
VALUES
(
NEW.id,
NEW.title,
NEW.description,
NEW.tags
)
;
RETURN NEW;
END;
$def$ LANGUAGE plpgsql;