Re: Howto change db cluster locale on-the-fly - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Howto change db cluster locale on-the-fly
Date
Msg-id 9621.1171898357@sss.pgh.pa.us
Whole thread Raw
In response to Re: Howto change db cluster locale on-the-fly  (Martijn van Oosterhout <kleptog@svana.org>)
Responses Re: Howto change db cluster locale on-the-fly  (Jakub Ouhrabka <kuba@comgate.cz>)
List pgsql-hackers
Martijn van Oosterhout <kleptog@svana.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


pgsql-hackers by date:

Previous
From: Gregory Stark
Date:
Subject: Re: New feature request: FlashBack Query
Next
From: Tom Lane
Date:
Subject: Re: pg_proc without oid?