BUG #1811: unique index problem

Started by George Jansenover 20 years ago2 messagesbugs
Jump to latest
#1George Jansen
gjansen@aflcio.org

The following bug has been logged online:

Bug reference: 1811
Logged by: George Jansen
Email address: gjansen@aflcio.org
PostgreSQL version: 8.0.3
Operating system: RedHat ES 4
Description: unique index problem
Details:

Importing a database in preparation for a Lyris cutover, I received an error
creating a unique index. In psql I checked the table:

lyris=# CREATE UNIQUE INDEX ix_uniquewords_word ON uniquewords_ USING btree
(word_);
ERROR: could not create unique index
DETAIL: Table contains duplicated values.
lyris=# SELECT word_, Count(*)
lyris-# FROM uniquewords_
lyris-# GROUP BY word_
lyris-# HAVING Count(*) > 1;
word_ | count
-------+-------
(0 rows)

lyris=#

Then I listed the words out in order to a text file
and ran

-bash-3.00$ uniq -c uwords | grep -v "^ *1"
2 avendano
2 espanol
-bash-3.00$

Both old and new databases use SQL_ASCII. Is this a bug?

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: George Jansen (#1)
Re: BUG #1811: unique index problem

"George Jansen" <gjansen@aflcio.org> writes:

[ inconsistent comparison behavior ]
Both old and new databases use SQL_ASCII. Is this a bug?

I think it's probably a locale problem; did you initdb the database in C
locale? (Check SHOW LC_COLLATE and SHOW LC_CTYPE to be sure.) Usually
we see this sort of thing when the locale is expecting characters in a
different encoding than what's actually being stored.

regards, tom lane