Buen día. Tengo un servidor de producción con Ubuntu 14.04.06 con postgresql 9.6, al hacer listar las bases de datos tengo:
nombre codificación Collate Ctype midb UTF8 es_US.utf8 es_EC.utf8 postgres UTF8 es_US.utf8 es_EC.utf8 template0 UTF8 es_US.utf8 es_EC.utf8 template1 UTF8 es_US.utf8 es_EC.utf8 El servidor que hacia de replica tenía la misma configuración, pero se necesito formatear, e instalaron Ubuntu 20.04 debido a ciertas necesidades, al instalar postgresq 9.6 y listar las bases de datos tengo: nombre codificación Collate Ctype postgres UTF8 C_UTF-8 C_UTF-8 template0 UTF8 C_UTF-8 C_UTF-8 template1 UTF8 C_UTF-8 C_UTF-8 Al crear la base de datos: CREATE DATABASE midb WITH OWNER = postgres ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'en_US.utf8' LC_CTYPE = 'es_EC.utf8' CONNECTION LIMIT = -1; Tengo un problema de incompatibilidad. Instalo postgresql por comando y el collate y Ctype por defecto tienen C_UTF-8 apt-get install -y postgresql-9.6 postgresql-contrib-9.6 Como puedo hacer para que se instale al instalar postgres Collate = es_US.utf8 y Ctype = es_EC.utf8? Al hacer pruebas de replicación cambie algunas configuraciones en postgresql.conf para que sean compatibles con el servidor de producción y al replicar la copia inicial de la base de datos no reporta problemas, pero al conectarse a la replica da problemas en collate incompatibles. Googleando un poco encontré update pg_database set datcollate='POSIX.UTF-8', datctype='POSIX.UTF-8' where datname='databasename'; La aplique a postgres, template0 y template1 y subi un respaldo y lo hace sin problemas. No estoy seguro que sea la forma correcta de hacer este cambio de collate y Ctype a las bases postgres, template0 y template1, en la noche voy a probar replicar (Hot standby) y ver si da problemas, en su experiencia puede decirme si voy a tener problemas? Cual sería la forma correcta de solucionar este problema de collate y Ctype? Saludos Mauricio.