Re: pg_upgrade problem as locale difference in data centers

From: Yi Sun <yinan81(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL General <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: pg_upgrade problem as locale difference in data centers
Date: 2021-09-27 03:10:15
Message-ID: CABWY_HAq3DShtbRaPWWTGFv66LJLFDe=cW_JF_3UZQaPONX0DA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Tom,

Thank you for your help.

As we use ansible to deploy the upgrade, so mentioned the data centers
situation. The PostgreSQL is single node and the upgrade will be in the
same data center and same Linux server(Centos 7), just will run the ansible
to upgrade PG in all Data centers.

For example, in our aaa data center

postgres=# select datname,datcollate,datctype from pg_database;
datname | datcollate | datctype
-------------------------------+-------------+-------------
postgres | ru_RU.UTF-8 | ru_RU.UTF-8
template1 | ru_RU.UTF-8 | ru_RU.UTF-8
template0 | ru_RU.UTF-8 | ru_RU.UTF-8
aaa_service | ru_RU.UTF-8 | ru_RU.UTF-8

we test before pg_upgrade, update the postgres, template1, template0 3
databases locale to 'en_US.UTF-8' both in PG9.6 and PG13 as below script

update pg_database set datcollate='en_US.UTF-8', datctype='en_US.UTF-8'
where datname in ('postgres','template1','template0') and
(datcollate<>'en_US.UTF-8' or datctype<>'en_US.UTF-8')

Then test pg_upgrade completed with no error and Locale is like below:

postgres=# select datname,datcollate,datctype from pg_database;
datname | datcollate | datctype
-------------------------------+-------------+-------------
postgres | en_US.UTF-8 | en_US.UTF-8
template1 | en_US.UTF-8 | en_US.UTF-8
template0 | en_US.UTF-8 | en_US.UTF-8
aaa_service | ru_RU.UTF-8 | ru_RU.UTF-8

The aaa_service application database Locale is no change, and there is no
user-defined table or index in postgres, template1, template0 3 databases.
So the question is like our case, if update the postgres, template1,
template0 3 databases locale and upgrade this way has problems and risk? If
we have to get away with it and choose pg_dump-and-restore or pglogical?
Thanks

Best regards
Sun Yi

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Pavel Stehule 2021-09-27 06:46:44 Re: Using XMLNAMESPACES with XMLEMENT
Previous Message Lucas Possamai 2021-09-26 23:06:10 PostgreSQL 9.2 high replication lag - Part 2