locale issue while upgrading data directory from PostgreSQL 8.4 to 9.5

一个人想着一个人 提交于 2019-12-10 18:07:33

问题


I am upgrading PostgreSQL 8.4 to 9.5 on Windows. Following are the steps that are to be followed:

  1. Install PostgreSQL 9.5 (8.4 is already installed).
  2. Migrate data from 8.4's data dir to 9.5's data dir using pg_upgrade utility.
  3. After successful upgrade, uninstall PostgreSQL 8.4

Here the issue is that PostgreSQL 8.4 could be installed with any locale (English or French etc.) and to have successful data directory upgrade, PostgreSQL 9.5 must be installed with the same locale as that of 8.4.

Supplying the output of query 'Show lc_collate' (executed on PostgreSQL 8.4) to PostgreSQL 9.5 installation leads to failed installation. It generates the error 'specified locale is not supported'.

Here is the example:

Output (PostgreSQL 8.4) of query 'SHOW LC_COLLATE': English_United States.1252

A. --locale "English_United States.1252"

While installing PostgreSQL 9.5, If we pass locale option as above, installer aborts with an error 'specified locale is not supported'.

B. --locale "English, United States"

If we pass locale option as above, installation is successful and cluster locale is set to 'English, United States'.

Given that one has access to PostgreSQL 8.4, how would one know what value to pass to the parameter --locale while installing PostgreSQL 9.5?


UPDATE:

If PostgreSQL 8.4 is installed with following --locale values

  1. --locale "English_United States.1252"

    Installation fails, gives same error: 'Locale specified is not supported.'

  2. --locale "English, United States"

    Successful Installation, value of 'Show lc_collate': English, United States

  3. No Value (i.e. parameter --locale is not provided during installation)

    Successful Installation, value of 'Show lc_collate': English_United States.1252

If you notice point 1. and 3., locale value is stored as English_United States.1252 but can not be given as a value of parameter during installation. This seems to me as a bug.

Please let me know how to tackle this issue ?

In my case, --locale parameter was not provided during PostgreSQL 8.4 installation [scenario 3].

来源:https://stackoverflow.com/questions/44912502/locale-issue-while-upgrading-data-directory-from-postgresql-8-4-to-9-5

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!