From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Martijn van Oosterhout <kleptog(at)svana(dot)org> |
Cc: | Jakub Ouhrabka <kuba(at)comgate(dot)cz>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Howto change db cluster locale on-the-fly |
Date: | 2007-02-19 15:19:17 |
Message-ID: | 9621.1171898357@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Martijn van Oosterhout <kleptog(at)svana(dot)org> writes:
>> But I guess something like this would work:
>> 1) drop all indexes on text/varchar columns
>> 2) change cluster locale
>> 3) create all indexes on text/varchar columns
> You're going to miss the "name" columns, ie. every string index in
> pg_catalog.
But "name" is not locale-aware --- it just uses strcmp(). AFAIR there
aren't any locale-dependent indexes in the system catalogs. So in
principle you could hack pg_control, restart the postmaster, and then
reindex every locale-dependent index. Hacking pg_control would be the
hard part; you'll never get the CRC right if you do it manually. Possibly
pg_resetxlog could be adapted to the purpose.
> I'd suggest single user mode at least, and make backups!
Yup, a filesystem backup would be a *real* good idea. Not to mention
testing the procedure on a toy installation.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2007-02-19 15:26:04 | Re: pg_proc without oid? |
Previous Message | Gregory Stark | 2007-02-19 15:18:59 | Re: New feature request: FlashBack Query |