Select 的 Postgres 更新插入

Postgres Upsert with Select

我正在尝试使用 select:

插入一条记录
INSERT INTO global_search (entity_id, entity_type, search_content)
SELECT id, 'user', "username"
FROM "user"
WHERE "id" = 1
ON CONFLICT (entity_id) DO UPDATE
SET search_content = excluded.username

但我收到以下错误:

ERROR:  column excluded.username does not exist
LINE 8: SET search_content = excluded.username

这似乎符合 this question。如果我删除 ON CONFLICT 位,它工作正常。带有值列表的普通更新也可以正常工作。

我是 运行 postgresql 13.4.

那就是 EXCLUDED.search_content。列名称是 table 中您 INSERT.

中的目标列的名称