Thread: 8.0 collate and index use

8.0 collate and index use

From
Richard Greenwood
Date:
My apologies if this has already been discussed ad infinitium...

I built and installed postgresql on windows2000, initdb w/o any
options, and noticed that my indexes were not being used in instance
where they were being used on my linux postgresql installation (same
database, tables, and indexes). The queries where indexes were not
being used on the windows system were LIKE on varchar fileds. On my
linux system:
   pg_controldata
      LC_COLLATE: C
      LC_TYPE:       C
on my windows system:
   pg_controldata
      LC_COLLATE: English_United States.1252
      LC_CTYPE:     English_United States.1252

I figure the index non-use issue is due to collate and/or ctype, so I:
   initdb --locale=C --lc-collate=C
and indexes are now being used as expected.

Did I address it in the best manner?

Did I overlook anything that should have been obvious?

Should a new windows postgres user be expected to spot this and address it?

Thanks for reading.

Best regards,
--
Richard Greenwood
richard.greenwood@gmail.com
www.greenwoodmap.com

Re: 8.0 collate and index use

From
Andrew Dunstan
Date:

Richard Greenwood wrote:

>I figure the index non-use issue is due to collate and/or ctype, so I:
>   initdb --locale=C --lc-collate=C
>and indexes are now being used as expected.
>
>Did I address it in the best manner?
>
>

Yes, I think so.

>Did I overlook anything that should have been obvious?
>
>

Not that I know of

>Should a new windows postgres user be expected to spot this and address it?
>
>

It is not specifically a Windows issue - it has bitten me on Unix. And
it is mentioned in the FAQ iirc.

cheers

andrew