From: | Glyn Astill <glynastill(at)yahoo(dot)co(dot)uk> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Index order |
Date: | 2008-09-16 12:34:44 |
Message-ID: | 484343.81963.qm@web25802.mail.ukl.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi chaps,
I was just wondering if there's any way to tweak the way an an index is ordered on a text field?
I have a table with a varchar field "artist" (see table def below), and if I order by the field "artist" it does not order as expected when there are characters such as ^ at the start of the text. For example, the query "select artist from artist order by artist;" orders as follows:
BILLY BRAGG
BILLY COBHAM & ASERE
^ BILLY ELLIOT 40 OFFER
^ BILLY ELLIOT HARD ROCK CAFE MEAL OFFER
BILLY ELLIOT THE MUSICAL
BILLY OCEAN
BIOHAZARD
I'd expect the rows starting with the caret to appear either at the start or end of, rather than in the middle, it appears as if the index ignores them.
Database locale is Latin1
Am I missing something obvious here?
Thanks
Glyn
CREATE TABLE events.artist
(
recnum bigint NOT NULL DEFAULT nextval(('"events"."artist_dfseq"'::text)::regclass),
artist character varying(50) NOT NULL DEFAULT ' '::character varying,
price_list character varying(4) NOT NULL DEFAULT ' '::character varying,
CONSTRAINT artist_index01 PRIMARY KEY (artist)
)
ALTER TABLE events.artist
ADD CONSTRAINT artist_index01 PRIMARY KEY(artist);
From | Date | Subject | |
---|---|---|---|
Next Message | Bill Moran | 2008-09-16 12:40:45 | Re: Obfuscated stored procedures (was Re: Oracle and Postgresql) |
Previous Message | Enrico Sabbadin | 2008-09-16 11:15:41 | client_encoding / postgresql strange behaviour |