Hi all,
Sorry for my post, but I think it is pg primary key bug.
It is secont time in that we found the bug (see the replays for this message).
We have many server with pg and use it over jdbc + jboss.
I am not able to stop this server for long time, but I have dumped the problem table.
It is very important to know if it is bug, because we have many server running pg + our ERP and continuing to install new.
01=# select * from a_constants_str order by constname;
constname | fid | constvalue
-----------+-----+------------
AACCGRID | 0 | SOF_3
ADARID | 0 | SOF_2
AGRADID | 0 | SOF_165
AKLGRID | 0 | SOF_8
AKLIID | 0 | SOF_3513
AKLTYPID | 0 | SOF_3
ANMGRID | 0 | SOF_10
ANOMID | 0 | SOF_747
AOBLASTID | 0 | SOF_3
ASETUPID | 0 | SOF_399
ASLUID | 0 | SOF_17
AUSERID | 0 | SOF_3
DOCID | 0 | SOF_25658
DOCPLAID | 0 | SOF_19738
DOCPLAID | 0 | SOF_19738
DOCPOGPLA | 0 | SOF_24281
DOCRID | 0 | SOF_184547
LOCAID | 0 | SOF_13
NASTRF | 0 | SOF_1
TDOCID | 0 | SOF_47
TDOCRID | 0 | SOF_2439
(21 rows)
01=# select * from a_constants_str where constname='DOCPLAID' ;
constname | fid | constvalue
-----------+-----+------------
DOCPLAID | 0 | SOF_19738
DOCPLAID | 0 | SOF_19738
(2 rows)
01=# \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)
regards,
ivan
[EMAIL PROTECTED] wrote:
There are not enough spaces available in the column to allow for the number of DOC_IDs. There are three spaces, allowing for at most four occurrences of DOC_ID, but there are eleven. --RickMichael Glaesemann <[EMAIL PROTECTED] To: pginfo <[EMAIL PROTECTED]> > cc: pgsql-sql@postgresql.org Sent by: Subject: Re: [SQL] pg primary key bug? [EMAIL PROTECTED] tgresql.org 02/03/2005 09:14 AM 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 ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED]) ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])