我正在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;
postgres dblink扩展程序允许通过dblink-send-Query命令访问远程服务器。
不确定它如何在建立多个连接方面在触发器中工作。应在此处谨慎进行资源泄漏