sergey.frolov@smetarik.ru wrote:
> select ctid,xmin,xmax, id, base_id, norm_id from nb.nb_basedtl where id =
> 11658502 ;-- expected ONE row
>
> (0,49);364507;0;11658502;269;46203
> (0,49);370881;0;11658502;269;46203
> (0,49);370882;0;11658502;269;46203
Since these rows all have the same CTID, it looks like the index on id
must be corrupt and returned the same tuple more than once. But the
weird thing is that the xmin differs ... How can that be? Does this
change if you set enable_indexscan and enable_bitmapscan to off?
Would you try running amcheck on this index?
https://github.com/petergeoghegan/amcheck
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services