【发布时间】:2016-04-26 00:36:03
【问题描述】:
在 Postgres 文档 INSERT 中有一个使用 ON CONFLICT 的示例:
INSERT INTO distributors (did, dname) VALUES (7, 'Redline GmbH')
ON CONFLICT (did) DO NOTHING;
我尝试同样的事情:
INSERT INTO name_map VALUES ('key_value', 'val1','val2')
ON CONFLICT (key_column) DO NOTHING;
但得到 ERROR: syntax error at or near "ON"。
我错过了什么?
postgres --version
> 9.5.0
【问题讨论】:
-
你真的在运行 PostgreSQL 9.5吗?您可能安装了多个版本。
-
听起来好像您没有连接到 Postgres 9.5 服务器。发布
select version()的输出 -
key_column是否已编入索引? -
您可以使用
SELECT version()再次检查您是否连接到 9.5 服务器 -
select version() 显示实际上运行的服务器是9.4.5。显然在启动 postgres 时出现问题。我会编辑这个问题。谢谢!