Re: Broken index?

From: Paul Green <traktion(at)webleicester(dot)co(dot)uk>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Broken index?
Date: 2001-09-07 14:39:17
Message-ID: 20010907153917.A9567@trak.webleicester.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin


On 2001.09.07 15:10 Tom Lane wrote:
> Paul Green <traktion(at)webleicester(dot)co(dot)uk> writes:
> > I am having a problem with duplicates appearing in a unique index and I
> > have no idea why.
>
> Hmm. What PG version is this, on what platform?

Redhat 7.1, (Linux 2.4.2-2) on a K6-2 300 with 128 mb ram running PG 7.0
using jdbc7.1-1.2.jar for databas access.

>
> Have you tried dropping and recreating the index?

I've tried creating a new table and selecting * (create table blah as
select * from player) and then creating an index on this, but it compains
about duplicates and fails. What *is* wierd is that if I do, say, "select *
from player where name='bob'" I get one result where as if I do a "select *
from player where name like '%bob', I get many bobs (about 10) returned.
Unless psql is removing white space and this is somehow creeping in
(although I 'trim()' all values before insertion) I can't understand how
this can be so. Also, if I do a "select count(id) from player" I get the
same number as "select distinct count(id) from player" even though they
should clearly be different.

Also, I've just tried to do a query to update all rows by "update player
set flatname=lower(name)" and that failed complaining about duplicates, yet
if you specify the id, the row is altered. Crazy huh?

>
> > I can't say how often these duplicates slip through, but it seems to
> only
> > happen *very* rarely, but is obviously completely mangling my data. Not
> > only that, but VACUUM ANALYZE is taking *days* to complete and I can
> only
> > assume this is due to these duplicates. The 'player' table contains
> around
> > 180000 records, so if this fall of in performance when running vacuum
> can
> > be associated with this, I'd appreciate some feedback.
>
> Clearly something broken here; that's not an especially large table...
>
> regards, tom lane
>

Yeah, something is definately going a bit odd. I could recrease the
database starting from scratch (importing everything again etc), but if the
same situation occurs, I'll just have wasted a lot of time, so if you have
any ideas, I'd appreciate the feedback.

Thanks in advance,
Paul

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2001-09-07 14:53:16 Re: Broken index?
Previous Message Tom Lane 2001-09-07 14:10:57 Re: Broken index?