On 12/01/2017 06:15 PM, Alvaro Herrera wrote:
> 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
>
Oh, haven't noticed this. I wonder if the other cases (supposedly there
are 50 duplicate records) look the same way.
regards
--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services