在 Cube 数据类型列上执行 Postgresql 查询时出错

Error during execution of Postgresql query on Cube data type column

我是 Postgesql 的新手。我创建了一个 table 字段 (Id integer, name text, url text, vector cube) 命名为 images.

现在我想使用 <->(欧几里得距离)运算符搜索与新立方体变量最接近的 K 个值。我的查询如下(我假设数据列是 3D):

Select * 
from images 
order by vector <-> cube(array[0.5, 0.3, 0.2]) 
limit 5

但出现以下错误:

ERROR:  operator does not exist: cube <-> cube
LINE 1: Select * from test order by data <-> cube(array[0.5, 0.3, 0.2...
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
SQL state: 42883
Character: 38

请帮助我。谢谢。我正在使用 Ubuntu 16.04.6 LTS 和 Postgresql 版本 9.5.19。

我的 table 和错误的屏幕截图附在下面:

postgres 9.5 中的 cube 扩展没有 <-> 运算符。您可以改用 cube_distance。以下是相关文档:

https://www.postgresql.org/docs/9.5/cube.html