【发布时间】:2025-12-16 20:55:03
【问题描述】:
最近,我在表中的一列上遇到了 b 树索引的问题。我创建索引:
CREATE INDEX t_client_contact_email on t_client_contakt (email);
一切正常,但几天后,使用此索引进行搜索无法正常工作。重建这个索引(DROP - CREATE)everytning 就可以了。
我能用这个做什么?我正在使用 Postgres 8.4。
【问题讨论】:
-
不,有任何错误。但是,如果我搜索示例字符串(邮件) - example@whatever.com 并将其放在表中,我不会收到任何查询。例如:SELECT * FROM t_client_contact WHERE email = 'example@whatever.com' 我没有收到任何查询(但我在表格中有这封电子邮件)
-
日志中也没有错误消息?你能重现这个问题吗?导致失败的具体操作列表是什么?
-
不,在日志中我没有任何错误,只是正确执行了语句。这个错误在我创建索引几天后重现,但是当我再次删除并创建索引时,一切正常......几天。
-
您运行的是哪个版本的 pg?您可以更新到最新的 8.4.x 并重试吗?
标签: sql postgresql indexing b-tree