On Mon, Sep 24, 2012 at 10:45:34PM +0800, Rural Hunter wrote: > >If your operating system locale/encoding names changed after the initdb > >of the old cluster, this would not be reflected in template0. > No. It's not changed. look at my system settings: > LANG=zh_CN.UTF-8 > $ cat /var/lib/locales/supported.d/local > zh_CN.UTF-8 UTF-8 > > I think the problem is on the options when I installed pgsql(both > 9.1 and 9.2) > Select the locale to be used by the new database cluster. > > Locale > > [1] [Default locale] > [2] C > [3] POSIX > [4] zh_CN.utf8 > [5] zh_HK.utf8 > [6] zh_SG.utf8 > [7] zh_TW.utf8 > Please choose an option [1] : 4 > I chose 4 instead of 1. I guess the default locale(option 1) is with dash.
Well, if you run that query on template0 in the old and new cluster, you will see something different in the two of them. Could you have used default in one and a non-dash in the other. Did we change the way we canonicalize the locale between 9.1 and 9.2? I can send you a patch to test if the setlocale canonicalization works. Can you test it if I send it? -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers