válido utf8 postgres nombre lc_collate es_es en_us configuración change cambiar postgresql postgresql-9.2

postgresql - utf8 - Cómo cambiar la codificación de la colección de la base de datos de la plantilla.



nombre de configuración regional no válido en_us utf 8 (1)

Desde la documentación de PostgreSQL :

Otra razón común para copiar template0 en lugar de template1 es que la nueva configuración de codificación y configuración regional puede especificarse al copiar template0, mientras que una copia de template1 debe usar la misma configuración que usa. Esto se debe a que template1 puede contener datos específicos de codificación o locales, mientras que template0 se sabe que no lo hace.

Puede usar solo template0 para crear una nueva base de datos con codificación y configuración regional diferentes:

CREATE DATABASE newdb WITH OWNER = postgres ENCODING = ''UTF8'' TABLESPACE = pg_default LC_COLLATE = ''zh_CN.UTF-8'' CONNECTION LIMIT = -1 TEMPLATE template0;

Esto funcionará, sin embargo, significa que cualquier cambio que haya realizado en template1 no se aplicará a la base de datos recién creada.

Para cambiar la codificación y la intercalación de la template1 , primero debe eliminar la template1 y luego crear una nueva plantilla de template1 partir de la template0 . A continuación se describe cómo eliminar la base de datos de plantillas. Luego, puede crear una nueva template1 base de template1 con la codificación / intercalación elegida y marcarla como plantilla configurando datistemplate=true ( example ):

update pg_database set datistemplate=true where datname=''template1'';

Quiero construir una nueva base de datos postgreSQL por:

CREATE DATABASE newdb WITH OWNER = postgres ENCODING = ''UTF8'' TABLESPACE = pg_default LC_COLLATE = ''zh_CN.UTF-8'' CONNECTION LIMIT = -1;

y el error es:

ERROR: la nueva intercalación (zh_CN.UTF-8) es incompatible con la intercalación de la base de datos de plantillas (en_US.UTF8)
SUGERENCIA: utilice la misma intercalación que en la base de datos de plantillas o use template0 como plantilla.

¿Cómo cambiar la colección de bases de datos de plantillas?