Re: pg primary key bug?

From: Michael Glaesemann <grzm(at)myrealbox(dot)com>
To: pginfo <pginfo(at)t1(dot)unisoftbg(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: pg primary key bug?
Date: 2005-02-03 14:14:45
Message-ID: a284e85c43ed7f8afc4330068e42ac2f@myrealbox.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql


On Feb 3, 2005, at 21:53, pginfo wrote:

> I am using pg 7.4.5 on RedHat AS 3.0.

> sklad21=# \d a_constants_str
> Table "public.a_constants_str"
> Column | Type | Modifiers
> ------------+-----------------------+-----------
> constname | character varying(30) | not null
> fid | integer | not null
> constvalue | character varying(30) |
> Indexes:
> "a_constants_str_pkey" primary key, btree (constname, fid)
>
> sklad21=# select * from a_constants_str ;
> constname | fid | constvalue -----------+-----+-------------
> AACCGRID | 0 | SOF_3
> AKLTYPID | 0 | SOF_3
> ADARID | 0 | SOF_2
> AOBLASTID | 0 | SOF_6
> AUSERID | 0 | SOF_17
> ANMGRID | 0 | SOF_21
> LOCAID | 0 | SOF_41
> DOCID | 0 | SOF_1585254
> DOCPLAID | 0 | SOF_1052900
> AKLIID | 0 | SOF_18740
> DOCRID | 0 | SOF_2268142
> DOCPOGPLA | 0 | SOF_324586
> DOCID | 0 | SOF_1585254
> DOCID | 0 | SOF_1585254
> DOCID | 0 | SOF_1585254
> AKLGRID | 0 | SOF_45
> DOCID | 0 | SOF_1585254
> DOCID | 0 | SOF_1585254
> ASETUPID | 0 | SOF_4605
> DOCID | 0 | SOF_1585254
> DOCID | 0 | SOF_1585254
> TDOCID | 0 | SOF_337
> TDOCRID | 0 | SOF_19450
> DOCID | 0 | SOF_1585254
> DOCID | 0 | SOF_1585254
> AGRADID | 0 | SOF_256
> DOCID | 0 | SOF_1585254
> ASLUID | 0 | SOF_46
> NASTRF | 0 | SOF_88
> ANOMID | 0 | SOF_1200
> (30 rows)
>
>
> Pls., see the records with 'DOCID' and note we have primary key
> defined.

It's unclear from just this data, but there's a chance that there are
varying numbers of spaces after 'DOCID', which would appear as separate
values for the index, even though they aren't readily apparent. Could
you show us the results of the following query?

select constname, length(constname) as constname_length
from a_constants_str;

Here's another one which would show if PostgreSQL is treating them
equally:

select constname, count(constname)
from a_constants_str;

The results of these queries might shed some light on the issue.

Hope this helps.

Michael Glaesemann
grzm myrealbox com

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Bradley Miller 2005-02-03 14:16:01 Re: pg_restore problem
Previous Message Richard Huxton 2005-02-03 13:56:50 Re: Tunning postgresql on linux (fedora core 3)