这是Postgresql错误吗?只有一行不能相等查询,但可以按

时间:2019-06-24 03:08:20

标签: postgresql

我有一张表,该表中只有一行不能通过均等查询来查询,但可以按like(不是incloud%)查询。

postgresql服务器版本:90513

# select id,external_id,username,external_id from users where username = 'oFIC94vdidrrKHpi5lc1_2Ibv-OA';
 id | external_id | username | external_id 
----+-------------+----------+-------------
(0 rows)

# select id,external_id,username,external_id from users where username like 'oFIC94vdidrrKHpi5lc1_2Ibv-OA';
                  id                  |         external_id          |           username           |         external_id          
--------------------------------------+------------------------------+------------------------------+------------------------------
 61ebea19-74f5-4713-9a30-63eb5af8ac8f | oFIC94vdidrrKHpi5lc1_2Ibv-OA | oFIC94vdidrrKHpi5lc1_2Ibv-OA | oFIC94vdidrrKHpi5lc1_2Ibv-OA
(1 row)

如果我转储该表并将其还原,它将得到修复。为什么。

这是一个Postgresql错误?我该如何解决。我见过两次。

1 个答案:

答案 0 :(得分:2)

此表上有索引吗?如果是,则这看起来像是损坏的索引-PostgreSQL在第一种情况下使用索引,如果索引损坏,则可能不会返回任何结果。

这通常是一个错误,可能是软件错误,也可能是硬件错误(电源丢失或任何内存问题导致数据丢失)。尝试删除并重新创建索引,或使用https://www.postgresql.org/docs/9.3/sql-reindex.html

重建索引