【发布时间】:2012-07-19 18:59:42
【问题描述】:
首先,我对 postgresql 不太熟悉,所以我提前道歉。我最近将我的服务器从 postgresql 8.3 版升级到了 9 版,在恢复我的数据后,我在一个无法解决的查询中遇到了操作员问题。我正在尝试查询:
database=# select bbox from dems order by bbox using >> limit 1;
bbox 是我的表格中的一列 dems 类型为 box。
我得到结果:
错误:运算符 >> 不是有效的排序运算符
第1行:使用>>limit 1从dems order by bbox中选择bbox;
提示:排序运算符必须是 btree 运算符族的“”成员。
我认为“>>”运算符是内置在 postgresql 中用于类型框的,我想知道我在这里做错了什么。该查询与 8.3 版完美配合。我的老同事编写了原始代码并设置了服务器,所以我可能会遗漏一些恢复步骤。任何帮助都会很棒,同时我会继续阅读文档。
谢谢!
【问题讨论】:
-
我不认为
>>是排序运算符,因为a << b、a >> b或a = b很可能都不为真。 -
我写了关于
ORDER BY .. USING ...over here 的文章。也许它可以帮助您了解在旧系统中寻找缺失部分的位置。
标签: postgresql operators b-tree