Néstor Ramires escribió: > Hola > Tengo una base de datos configurada por el administrador de la siguiente > manera: > ENCODING = 'LATIN1' > TABLESPACE = pg_default > LC_COLLATE = 'es_AR.iso88591' > LC_CTYPE = 'es_AR.iso88591' > Todas las tablas que se crean con el comando CREATE DATABASE, por defecto > tienen estas caracteristicas > Ahora, cuando quiero darle mas detalles al momento de crear la base de datos > con estos parametros, me da el siguiente error. > > postgres=# CREATE DATABASE mi_base > WITH OWNER = postgres > ENCODING = 'UTF8' > CONNECTION LIMIT = -1; > ERROR: encoding "UTF8" does not match locale "es_AR.iso88591" > DETAIL: The chosen LC_CTYPE setting requires encoding "LATIN1". > postgres=#
El problema es que el locale escogido usa Latin1 (iso-8859-1) en lugar de UTF8. Para poder usar una codificación distinta (utf8 en tu caso) tienes que además usar un locale correcto. Prueba así: create database ... encoding = 'UTF8' lc_ctype = 'es_AR.UTF8' lc_collate = 'es_AR.UTF8' asegurándote además de usar template0, como ya te indicaron en otras respuestas. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services