我安装了pg_trgm
模块。
pg_trgm | 1.0 | extensions | text similarity measurement and index ...
架构集为extensions
。要使用它,我必须运行类似这样的选择:
extensions.similarity('hello','hallo');
我尝试使用%
运算符运行语句并收到以下消息。
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.
运行%
或<->
运营商需要什么?
答案 0 :(得分:4)
很可能这是search_path
的问题。运行:
SHOW search_path;
是否包含您安装的架构pg_trgm?如果没有,请加入它。
或者,您可以使用OPERATOR()
construct:
SELECT * FROM rssdata WHERE extensions.similarity(description, 'Brazil') > .8;
SELECT * FROM rssdata WHERE description OPERATOR(extensions.%) 'Brazil';
使其独立于search_path
。