Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   PostgreSQL (http://www.forosdelweb.com/f99/)
-   -   Postgresql 8.3.0 no deja crear BD con encoding LATIN1 (http://www.forosdelweb.com/f99/postgresql-8-3-0-no-deja-crear-bd-con-encoding-latin1-559822/)

augusto_jaramil 23/02/2008 10:26

Postgresql 8.3.0 no deja crear BD con encoding LATIN1
 
Hola amigos,

Acabo de instalar la version 8.3.0 en mi sistema SUSE Linux ES. Anteriormente tenia la version 8.2.x y podia crear BD con encoding LATIN1

Ahora con esta version 8.3.0 no las deja crear... me reporta lo siguiente:

createdb -E LATIN1 xx
createdb: falló la creación de la base de datos:
ERROR: la codificación LATIN1 no coincide con la configuración regional del servidor es_ES.UTF-8
DETALLE: La configuración regional LC_CTYPE del servidor requiere la codificación UTF8.


Cuando hice el configure le di las siguientes opciones...

./configure --prefix=/var/lib/pgsql --datadir=/db/pgsqldata --enable-integer-datetimes --enable-nls


No se que hacer para poder crear BD con este encoding

Agradezco de antemano sus valiosas indicaciones para poder resolver este impase

Un Cordial Saludo

seyko 25/02/2008 02:26

Re: Postgresql 8.3.0 no deja crear BD con encoding LATIN1
 
Buenas,

El servidor está en UTF8 y no te deja crear una BD en Latin, aunque es cierto que en la 8.x no habia problemas.

Mirar para cambiar la codificación del servidor.

Salu2

augusto_jaramil 25/02/2008 06:55

Re: Postgresql 8.3.0 no deja crear BD con encoding LATIN1
 
Buen Dia seyko, gracias por su respuesta.....

Precisamente ese es el lio que tengo..... por donde le cambio esa configuracion del servidor?
Mi S.O. es SUSE Linux ES 10

He tratado de cambiarla por YasT indicando que se utilice Codificacion UTF-8 o deshabilitandole esa opcion pero igual.... no me deja crear BD con Encoding LATIN1

Un Cordial Saludo

seyko 25/02/2008 08:42

Re: Postgresql 8.3.0 no deja crear BD con encoding LATIN1
 
vale, he estado investigando un poco sobre el tema y al parecer este tema ha cambiado en la version 8.3.
http://www.postgresql.org/docs/8.3/i...multibyte.html

En la documentación viene la respuesta seguro!

Salu2

varoda 27/02/2008 11:09

Re: Postgresql 8.3.0 no deja crear BD con encoding LATIN1
 
hola seyko, yo estoy más o menos como tú. Resulta que quiere restaurar un backup de un base de datos que esta en LATIN1 y al hacerlo el servidor me dice que tiene que ser WIN1252. Estoy mirando como se puede cambiar la configuracion del servidor para que sea LATIN1.

lezambranof 09/07/2009 08:30

Respuesta: Postgresql 8.3.0 no deja crear BD con encoding LATIN1
 
Cita:

Iniciado por augusto_jaramil (Mensaje 2296850)
Hola amigos,

Acabo de instalar la version 8.3.0 en mi sistema SUSE Linux ES. Anteriormente tenia la version 8.2.x y podia crear BD con encoding LATIN1

Ahora con esta version 8.3.0 no las deja crear... me reporta lo siguiente:

createdb -E LATIN1 xx
createdb: falló la creación de la base de datos:
ERROR: la codificación LATIN1 no coincide con la configuración regional del servidor es_ES.UTF-8
DETALLE: La configuración regional LC_CTYPE del servidor requiere la codificación UTF8.


Cuando hice el configure le di las siguientes opciones...

./configure --prefix=/var/lib/pgsql --datadir=/db/pgsqldata --enable-integer-datetimes --enable-nls


No se que hacer para poder crear BD con este encoding

Agradezco de antemano sus valiosas indicaciones para poder resolver este impase

Un Cordial Saludo

Yo tenía el mismo problema y pude resolverlo así:

1) Te "logeas" como root.

2) Deten el postgres según tu distribución (si está activo).
rcpostgresql stop
/etc/init.d/postgresql stop

3) Elimina el directorio data (puedes crear otro cluster en lugar de eliminar este directorio, en mi caso se trataba de portar una BD antigua a la version 8.3 del postgres, por eso quise eliminar este directorio).
rm -rf /var/lib/pgsql/data

4) Actúa como usuario postgres
su - postgres

5) Crea un nuevo cluster indicandole el locale que necesites (en mi caso, es_CO.LATIN1) pero puedes usar el de tu país, es_ES.LATIN1, es_AR.ut8, etc. Nota: La codificacion (opcion -E) no es necesaria puesto que se deriva de locale.

initdb --locale=es_CO.LATIN1 -D /var/lib/pgsql/data

6) Listo, ahora seguramente querrás que el postgres te inicie automáticamente en los niveles 3 y 5.

exit (para salir de la sesión del usuario postgres y volver a root)
chkconfig --level 35 postgresql on

7) Prueba a reiniciar el servicio... si tienes algun problema comentalo aquí.

rcpostgresql restart

8) Si todo te sale bien, ya puedes crear tu base de datos.
createdb -U postgres -E LATIN1 nombrebd

Bueno, suerte con eso.

jhompis 06/12/2009 19:58

Respuesta: Postgresql 8.3.0 no deja crear BD con encoding LATIN1
 
Para Ubuntu:

La solución es cambiar la variable LANG, la cuál es leída por el postgres. Esta se cambia en vi /etc/default/locale, debe quedar la siguiente línea en la vairible que se encuentra en el archivo LANG="es_CO"

Para Fedora

vi /etc/sysconfig/i18n

Nota: En caso de que ya se encuentre instalado el POstgres se debe borrar el Cluster, con el siguiente comando

Service postgresql stop o etc/init.d/postgresql stop

rm -rf /var/lib/pgsql/data. Esto es para que permita crear la base de datos Latin1.

Luego inicia el servidor

Service postgres start(sale error para que inicie el cluster)… creo q se debe dar service postgres inidb para que cree de nuevo el cluster

m4cgyver 22/01/2010 06:58

Respuesta: Postgresql 8.3.0 no deja crear BD con encoding LATIN1
 
Muy buenas a tod@s!!

Tengo un problema parecido pero trabajo bajo windows, ¿alguna sugerencia?

Muchísimas gracias de antemano.

Un abrazo!

bisbaljustin 10/04/2013 16:56

Respuesta: Postgresql 8.3.0 no deja crear BD con encoding LATIN1
 
Más simple crea la base de datos con la codificación que te lo permita UTF8 o la que si te deje crearla, una vez creada introduce en código sql lo siguiente: UPDATE pg_database SET encoding='8' WHERE datname='nombre_de_tu_base_de_datos'; Obviamente el 8 hace referencia al LATIN1 si deseas otra codificación seria cosa de que investigues qué código le corresponde. Saludos.

charolastrazoe 16/04/2013 10:17

Respuesta: Postgresql 8.3.0 no deja crear BD con encoding LATIN1
 
Hola, ando en el mismo problema, en Ubunto estoy restaurando una base de datos con PostgreSQL 8.2 LATIN1 a una versión PostgreSQL 9.1.8 con codificación LATIN1.

Ya exporté la estructura de mis tablas y los datos (LATIN1) del anterior y acá en la nueva versión no me deja crear BD con LATIN1, sólo con UTF8, además tienen dos parámetros adicionales Colación y Tipo de caracter los cuales aparecen como es_MX.UTF-8.

Como quiera pues le dí en crear con UTF8 y colación/tipo de caracter en es_MX.UTF-8, e importé mis tablas LATIN1 ahí pero salen con caracteres raros.

Volví a borrar la BD y sólo creé la estructura, entonces ejecuté el comando:
Código BASH:
Ver original
  1. update pg_database set encoding=8 where datname='mibd';

Y luego importé los datos con este comando:
Código BASH:
Ver original
  1. pg_restore -a -v -e -Fc -U admin --disable-triggers -d fichas /tmp/fichas.data.dmp

Pero me marcó un error:
Código BASH:
Ver original
  1. pg_restore: [archiver (db)] Error while PROCESSING TOC:
  2. pg_restore: [archiver (db)] Error from TOC entry 1926; 0 39567 TABLE DATA ceneval2008 santosmu
  3. pg_restore: [archiver (db)] could not execute query: ERROR: column "act_da♦o" of relation "ceneval2008" does no exist
  4. pg_restore: [archiver (db)] Command was: COPY ceneval2008(campo1,campo2...
  5. pg_restore: [archiver (db)] *** aborted because of error

Imagino que porque encuentra caracteres raros y eso, pero entonces... ¿cómo le hago? u_u


La zona horaria es GMT -6. Ahora son las 19:42.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.