我正在设法从PostgreSQL表上的csv文件中自动更新数据。
csv文件保存LabVIEW测试数据,每次执行都会更新这些数据,并存储在本地计算机上。
到目前为止,我可以使用两个方法将数据从csv导入到表'test1‘中:
从这里,我可以将数据插入test1
INSERT INTO test1 (column1) FROM labview_test;这对于一个更新来说是可以的,但是我需要这个过程是自动化的。我尝试使用触发器和触发器函数,并且能够在外部表上创建触发器,但是当我运行新的LabVIEW测试时,表不会更新。
CREATE FUNCTION copy_test ()
RETURNS TRIGGER AS $$
BEGIN
INSERT INTO test1 VALUES (NEW.column1);
RETURN NULL;
END $$ LANGUAGE plpgsql;
CREATE TRIGGER copy_trigger
AFTER INSERT OR UPDATE ON labview_test
FOR EACH ROW
EXECUTE PROCEDURE copy_test ();我在论坛上看到file_fdw不支持触发器功能,有人能在最新版本的PostgreSQL (9.6)中确认这一点吗?
有人知道如何直接从外部表或.csv文件中自动更新表吗?
发布于 2016-11-13 18:04:14
你不能把扳机放在外桌上,但是.
可以创建外部表的物化视图。然后,可以在物化视图上设置一个触发器。最后,您可以使用外部调度程序刷新物化视图(与数据并发),这将导致触发器触发新数据。
https://stackoverflow.com/questions/40303069
复制相似问题