Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Postgresql 8.3.0 no deja crear BD con encoding LATIN1

Estas en el tema de Postgresql 8.3.0 no deja crear BD con encoding LATIN1 en el foro de PostgreSQL en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 23/02/2008, 10:26
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 9 meses
Puntos: 8
Pregunta 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
  #2 (permalink)  
Antiguo 25/02/2008, 02:26
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
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
  #3 (permalink)  
Antiguo 25/02/2008, 06:55
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 9 meses
Puntos: 8
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

Última edición por augusto_jaramil; 25/02/2008 a las 07:00
  #4 (permalink)  
Antiguo 25/02/2008, 08:42
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
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
  #5 (permalink)  
Antiguo 27/02/2008, 11:09
 
Fecha de Ingreso: septiembre-2005
Ubicación: en el mundo
Mensajes: 41
Antigüedad: 18 años, 6 meses
Puntos: 0
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.
  #6 (permalink)  
Antiguo 09/07/2009, 08:30
 
Fecha de Ingreso: junio-2009
Ubicación: Bucaramanga, Santander.
Mensajes: 2
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Postgresql 8.3.0 no deja crear BD con encoding LATIN1

Cita:
Iniciado por augusto_jaramil Ver Mensaje
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.
  #7 (permalink)  
Antiguo 06/12/2009, 19:58
 
Fecha de Ingreso: septiembre-2007
Mensajes: 3
Antigüedad: 16 años, 6 meses
Puntos: 0
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
  #8 (permalink)  
Antiguo 22/01/2010, 06:58
 
Fecha de Ingreso: septiembre-2009
Mensajes: 50
Antigüedad: 14 años, 6 meses
Puntos: 0
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!
  #9 (permalink)  
Antiguo 10/04/2013, 16:56
 
Fecha de Ingreso: junio-2011
Ubicación: Mexico
Mensajes: 1
Antigüedad: 12 años, 10 meses
Puntos: 0
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.
  #10 (permalink)  
Antiguo 16/04/2013, 10:17
Avatar de charolastrazoe  
Fecha de Ingreso: febrero-2008
Ubicación: En el @itscomalcalco
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 5
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?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:43.