| 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: | Whole Thread | Raw Message | 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 |