恢复PostgreSQL数据库后索引损坏

时间:2018-06-25 11:26:15

标签: postgresql indexing corrupt wal-e

我们使用WAL-E备份和还原PostgreSQL数据库(版本9.5.13),发现还原后一些索引(不是全部)被破坏了,其中大多数与String类型字段相关。

例如,使用分析解释,我们可以看到以下查询命中了与 foo_name 字段相关的现有索引,但没有行返回。

select * from foo where foo_name = 'xyz';

如果我们在查询中使用like,它可以返回预期的行,因为它执行了全表扫描。

select * from foo where foo_name like '%xyz%';

解决方案是重新索引损坏的索引。重新索引它后,第一个查询还会返回预期结果。

有人以前遇到过同样的问题吗?有人对根本原因有任何想法吗?

0 个答案:

没有答案