Vous n'êtes pas identifié(e).
Pages : 1
Bonjour a tous ,
j'ai fait une migration du serveur PostgreSQL du version 9 vers la version 11
après la migration j'ai constaté que la collation au niveau du serveur source est différent au collation du serveur migré (English_United States.1252--->French_France.1252)
j'ai fait la migration a travers un simple
pg_dumpall >all export.sqlPourquoi ma commande pg-dumpall n 'a pas conservé la collate du serveur source
                                                   List of databases
         Name         |  Owner   | Encoding |          Collate           |           Ctype            |   Access privileges
----------------------+----------+----------+----------------------------+----------------------------+-----------------------
 Orchestra_TES| postgres | UTF8     | English_United States.1252 | English_United States.1252 |
produit            | postgres | UTF8     | English_United States.1252 | English_United States.1252 |
produit1        | postgres | UTF8     | English_United States.1252 | English_United States.1252 |
produit22        | postgres | UTF8     | English_United States.1252 | English_United States.1252 |
 postgres             | postgres | UTF8     | English_United States.1252 | English_United States.1252 |
 template0            | postgres | UTF8     | English_United States.1252 | English_United States.1252 | =c/postgres          +
                      |          |          |                            |                            | postgres=CTc/postgres
 template1            | postgres | UTF8     | English_United States.1252 | English_United States.1252 | postgres=CTc/postgres+
                      |          |          |                            |                            | =c/postgres
 testoa               | postgres | UTF8     | English_United States.1252 | English_United States.1252 | après migration
                                          List of databases
     Name     |  Owner   | Encoding |      Collate       |       Ctype        |   Access privileges
--------------+----------+----------+--------------------+--------------------+-----------------------
 Lyon         | postgres | UTF8     | French_France.1252 | French_France.1252 |
 Produit22        | postgres | UTF8     | French_France.1252 | French_France.1252 |
 produit    | postgres | UTF8     | French_France.1252 | French_France.1252 |
produit1 | postgres | UTF8     | French_France.1252 | French_France.1252 |
 postgres     | postgres | UTF8     | French_France.1252 | French_France.1252 |
 template0    | postgres | UTF8     | French_France.1252 | French_France.1252 | =c/postgres          +
              |          |          |                    |                    | postgres=CTc/postgres
 template1    | postgres | UTF8     | French_France.1252 | French_France.1252 | =c/postgres          +
              |          |          |                    |                    | postgres=CTc/postgres cordialement
Dernière modification par sihem_info (29/03/2021 16:04:31)
Hors ligne
Les bases template0 et template1 de la destination étaient déjà créées avant la restauration du dump et elles avaient déjà la locale French_France.1252. Les bases nouvellement créés dans cette instance prennent par défaut le lc_collate/lc_type de la base template1 de leur propre instance.
On peut se demander pourquoi ces options ne sont pas spécifiées à l'intérieur du dump dans les commandes CREATE DATABASE.
Vraisemblablement, c'est pour ne pas forcer la main si c'est volontairement que le cluster de destination a des locales différentes.
Pour avoir la même chose que l'instance de départ, il aurait fallu initialiser le cluster destination (c.a.d le répertoire PGDATA avec initdb) avec les options --lc-collate et --lc-ctype (ou l'option --locale éventuellement qui aurait été plus générale) en donnant spécifiquement "English_United States.1252" comme valeurs. Ou pré-créer les bases (il y a plusieurs solutions dans le détail, mais toutes reviennent à faire plus de choses à la main en gros).
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
Pages : 1