lc_collate cluster values do not match error running PSQL upgrade scripts for GMS

  • 7022566
  • 18-Jan-2018
  • 06-Sep-2019


GroupWise Mobility Service 2014 R2
GroupWise Mobility Service 18


  • Preparing a GMS server to be upgraded from SLES11 to SLES12 or patching from SLES12 SP1/2 server to SP3
  • Running scripts or gives the following error
    • lc_collate cluster values do not match:  old "en_GB.UTF-8", new "en_US.UTF-8"
      Failure, exiting
  • GMS services do not start
  • Other examples of lc_collate error can include de_DE.UTF-8 or any other non-US locale


  • Edit the update database script
    • or as appropriate
  • Establish the server's locale
    • # locale | grep LANG
  • Search for the "collate" string and replace the "en_US.UTF-8" value which with the locale from the previous step
    • Example
      From:  su postgres -c '/usr/lib/postgresql94/bin/initdb --lc-collate="en_US.UTF-8" -D /var/lib/pgsql/pgsql94/data'
      To:      su postgres -c '/usr/lib/postgresql94/bin/initdb --lc-collate="en_GB.UTF-8" -D /var/lib/pgsql/pgsql94/data'
  • Save the changes and re-run the script
The fix of that bug is to use locale as a variable and not as hard coded value, i.e. in newer script you would have then:

su postgres -c '/usr/lib/postgresql94/bin/initdb --locale=$locale -D /var/lib/pgsql/pgsql94/data'

Additional Information

The SLES server must be registered with the NCC or SMT so newer repositories are available per the documentation, here.

Both scripts require, and will download, newer RPMs from the online repositories. If they are not available, then the upgrade will most likely fail.