Thread: sorting problem
I found some problem about the sorting when i switch to pg version 8.3.4 Table name : tt, record list : item_code ---------------------- VAAAA VBBBB VCCC (V)BBBB V.BBBB V.AAAAB V.AAAA .VAAAA VA.AAA (VBBBB V)BBBB (V)B.BBB (VB)BBB (13 rows) the result : select * from tt order by item_code; item_code ---------------------- VAAAA .VAAAA V.AAAA VA.AAA V.AAAAB VBBBB (VBBBB (V)BBBB (V)B.BBB (VB)BBB V.BBBB V)BBBB VCCC (13 rows) the sort sequence like ignore the character '.' , '(', ')'. Is it a bug ? It is no problem in old version !!!!
>>> CK Leung <ck@wecity.com> wrote: > the result : select * from tt order by item_code; > > item_code > ---------------------- > VAAAA > .VAAAA > V.AAAA > VA.AAA > V.AAAAB > VBBBB > (VBBBB > (V)BBBB > (V)B.BBB > (VB)BBB > V.BBBB > V)BBBB > VCCC > (13 rows) > > the sort sequence like ignore the character '.' , '(', ')'. Is it a > bug ? It is no problem in old version !!!! Probably not a bug; many collating sequences are defined to ignore such characters. Perhaps you chose a different locale when you converted? -Kevin
I create a new database use UTF-8 and SQL_ASCII, same result found, how can i fix this problem ? CK Kevin Grittner wrote: >>>> CK Leung <ck@wecity.com> wrote: >>>> >> the result : select * from tt order by item_code; >> >> item_code >> ---------------------- >> VAAAA >> .VAAAA >> V.AAAA >> VA.AAA >> V.AAAAB >> VBBBB >> (VBBBB >> (V)BBBB >> (V)B.BBB >> (VB)BBB >> V.BBBB >> V)BBBB >> VCCC >> (13 rows) >> >> the sort sequence like ignore the character '.' , '(', ')'. Is it a >> bug ? It is no problem in old version !!!! >> > > Probably not a bug; many collating sequences are defined to ignore > such characters. Perhaps you chose a different locale when you > converted? > > -Kevin > >
CK Leung wrote: > I create a new database use UTF-8 and SQL_ASCII, same result found, how > can i fix this problem ? If I recall correctly, the collation order is set at initdb time, and isn't bound to the database encoding. If that's right, you'd need to dump all your databases, re-initdb with the new collation settings, and re-load your databases. -- Craig Ringer
Try setting the variable lc_collate, either in an individual session using SET or (to change it for all session) in postgresql.conf. Craig Ringer wrote: CK Leung wrote: I create a new database use UTF-8 and SQL_ASCII, same result found, how can i fix this problem ? If I recall correctly, the collation order is set at initdb time, and isn't bound to the database encoding. If that's right, you'd need to dump all your databases, re-initdb with the new collation settings, and re-load your databases. -- Craig Ringer