我有一些导致这种情况发生的SQL语句:
NOTICE: word is too long to be indexed
DETAIL: Words longer than 2047 characters are ignored.
首先不生成这些通知的最简单方法是什么? (这是一个很长的故事,为什么我想这样做。)
这种陈述的一个例子是:
update rev set html = regexp_replace(html,
'***=<a href="' || old.url || '">',
'<a href="' || new.url || '">',
'gi')
where id in (
select id
from rev
where to_tsvector('tags_only', html) @@
plainto_tsquery('tags_only','<a href="' || old.url || '">')
)
这不是带有长网址的A标签或导致问题的任何内容。它可能嵌入了CDATA风格的图形。我不在乎他们没有索引,无论他们是什么。我只是希望这些通知不会发生。
答案 0 :(得分:3)
如果您不介意禁止所有通知,只需更改PostgreSQL错误报告级别。 client_min_messages
定义发送给客户端的最低级别的错误/警告/通知消息,log_min_messages
对日志中保存的消息执行相同操作。可能的值为:DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, PANIC
编辑:
仅对此查询禁用:SET LOCAL client_min_messages TO WARNING;
仅对此会话禁用:SET SESSION client_min_messages TO WARNING;
禁用此用户:ALTER ROLE username SET client_min_messages TO WARNING;