【发布时间】:2022-01-26 09:44:35
【问题描述】:
我想在写入 Cloud Data Fusion 上的 PostgreSQL 之前进行操作 upsert,我可以使用 sink 插件轻松编写,但是如果值已经存在,我找不到如何进行更新,谢谢。
【问题讨论】:
-
查看插入冲突子句
-
Data Fusion 中没有可用于在 PostgreSQL 中执行 upsert 操作的特定插件。 PostgreSQL 中有一个 INSERT ON CONFLICT 语句,可用于您在上面评论中提到的要求。您可以查看此link,它显示了可在数据融合控制台的 PostgreSQL 接收器中使用的特定 PostgreSQL upsert 实现。
-
@ShipraSarkar 所以我是否应该创建另一个表来保存数据,然后在使用 postgresql sink 插件保存数据后,添加另一个插件 postgresql 执行器并编写“on conflit”命令以写入我的表,我理解对了吗?
-
是的,@Robs,您的理解是对的。您可以先使用 Postgres 接收器将数据保存到临时表中,然后使用 Postgres 执行器运行查询以将其与目标表。
-
嗨@Robs,你的问题解决了吗?
标签: postgresql google-cloud-platform cloud upsert google-cloud-data-fusion