我安装了pg_trgm模块.
pg_trgm | 1.0 | extensions | text similarity measurement and index ...@H_404_4@架构集是扩展.要使用它,我必须运行类似这样的选择:
extensions.similarity('hello','hallo');@H_404_4@我正在尝试使用%运算符运行语句并获得以下消息.
mydb=# select * from RSSdata where description % 'Brazil'; ERROR: operator does not exist: character varying % unknown LINE 1: select * from RSSdata where description % 'Brazil'; ^ HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.@H_404_4@运行%或< - >所需的内容操作符?
解决方法
最有可能这是
search_path
的一个问题.运行:
SHOW search_path;@H_404_4@包含pg_trgm的架构是否包括在内?如果没有,请加入. @H_404_4@或者,您可以对函数进行模式限定 – 甚至使用
OPERATOR()
construct的运算符:
SELECT * FROM RSSdata WHERE extensions.similarity(description,'Brazil') > .8; SELECT * FROM RSSdata WHERE description OPERATOR(extensions.%) 'Brazil';@H_404_4@使其独立于search_path.