首先,我对postgresql并不是很有经验,所以我提前道歉。最近,我将服务器从postgresql版本8.3升级到版本9后,在恢复数据后,我的一个查询出现了运算符问题,我无法解决。我正试图查询:
“database =#select bbox from dems order by bbox using >> limit 1;”
bbox是我表dems中的一列,类型为box。
我得到结果: “错误:运算符>>不是有效的排序运算符 第1行:选择bbox from dems按bbox使用 >>限制1; 提示:排序运算符必须是btree运算符系列的“<”或“>”成员。”
我认为“>>”运算符已经内置于postgresql的box类型中,想知道我在这里做错了什么。该查询在版本8.3中完美工作。我的老同事编写了原始代码并设置了服务器,所以我可能会错过一些恢复步骤。任何帮助都将是极好的,与此同时我会继续阅读文档。
谢谢!
bbox是我表dems中的一列,类型为box。
我得到结果: “错误:运算符>>不是有效的排序运算符 第1行:选择bbox from dems按bbox使用 >>限制1; 提示:排序运算符必须是btree运算符系列的“<”或“>”成员。”
我认为“>>”运算符已经内置于postgresql的box类型中,想知道我在这里做错了什么。该查询在版本8.3中完美工作。我的老同事编写了原始代码并设置了服务器,所以我可能会错过一些恢复步骤。任何帮助都将是极好的,与此同时我会继续阅读文档。
谢谢!
>>
不是一个排序运算符,因为a << b
、a >> b
或a = b
都有可能都不成立。 - Andrew LazarusORDER BY .. USING ...
的内容。或许它可以帮助你理解在旧系统中寻找缺失部分的位置。 - A.H.