Onion's Crunch

Blog dedicado a la administracion bajo linux y a la programacion 2RDP, es decir como van llegando los requerimientos, resolver sin derecho a pataleo..... Tambien algunos tips para los perlceros, phpceros, javaceros, mysqlceros, postgresceros, apacheceros, entre otros....

lunes, junio 20, 2005

Postgres: Cambiando la codificacion de la base de datos

Recientemente me tope con un detallito donde la base de datos me generaba el siguiente error "ERROR: invalid byte sequence for encoding " al tratar de aplicar cualquier operacion DMA sobre postgres. En resumido el error tiene que ver con la codificacion de los carateres para la base de datos, en mi caso la base de datos tenia un encoding Unicode, y estaba intentando de agregar elemento basados en codificacion Latin1.

Solucion:

  1. su - postgres
  2. psql template1 postgres
  3. tipeamos \l; de seguido podemos ver un listado de las bases de datos con sus respectivas codificaciones
  4. ahora hacemos: update pg_database set encoding=LATIN1 where datname='mibd';
Ahora tenemos la base de datos correctamente codificada y en teoria no debeiramos tener mayores problemas. Anexo el enlace con la informacion de los distintos tipos de codfificacion soportadas para postgres 8.0 .

4 Comments:

At 5:57 p.m., Blogger DuXtin said...

Oye, me parece un excelente consejo, porque no sebía cómo modificar la codificación de una de mis bases de datos.

De todas maneras obtengo un error en el último paso del proceso:
Ejecuto la siguiente sentencia
"update pg_database set Encoding=LATIN1 where datname='SistemaInformacionVRI';"

Y obtengo el siguiente error:
"ERROR: column "latin1" does not exist".

¿Qué estoy haciendo mal?

 
At 6:53 a.m., Blogger icsbcn said...

prueba de poner latin entre comillas: 'LARIN1'

 
At 3:13 p.m., Blogger Unknown said...

Van bien... solo que en vez de colocar Encoding ='LATIN1', se debe colocar el numero de la codificacion... osea: UPDATE pg_database set Encoding=8 where datname='SistemaX'; Saludos!

 
At 11:50 p.m., Anonymous Anónimo said...

Este comentario ha sido eliminado por el autor.

 

Publicar un comentario

<< Home