El cambio es muy simple, primero ingresamos al terminal toot linux y ejecutamos
su – postgres
Ya estamos como usuario postgres
Entramos al Postgresql ejecutando
psql template1 postgres
Ahora veamos cual es la codificación actual de las base de datos que tenemos un nuestro servidor digitando lo siguiente:
\l
Debe salir algo similar a lo siguiente:
template1=# \l
Listado de base de datos
Nombre | Dueño | Codificación
———–+———-+————–
PRUEBA | postgres | UTF8
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
(4 filas)
Nombre | Dueño | Codificación
———–+———-+————–
PRUEBA | postgres | UTF8
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
(4 filas)
Ahora vamos a cambiar el encoder a la Base de Datos PRUEBA, para lo cual vamos a digitar lo siguiente:
update pg_database set encoding=8 where datname='PRUEBA';
Ahora volvemos a listar las Base de Datos digitando: \l y debe aparecer algo similar a:
Listado de base de datos
Nombre | Dueño | Codificación
———–+———-+————–
PRUEBA | postgres | LATIN1
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
(4 filas)
Nombre | Dueño | Codificación
———–+———-+————–
PRUEBA | postgres | LATIN1
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
(4 filas)
Con eso ya tenemos la Base de Datos en LATIN1, ahora, ustedes se preguntarán porque 8 en encoding? les pongo la tabla con el No. de encoding.
Para que coloquen el valor que les convengan ejemplo si quieren pasar a LATIN9 sería
update pg_database set encoding=16 where datname='PRUEBA';
7 comentarios:
Trate de cambiar el encoding utf8 a latin1 pero me sale el siguiente error: la codificación LATIN1 no coincide con la configuración regional Spanish_
DETAIL: La configuración regional LC_CTYPE requiere la codificación WIN1252
Que se debe hacer en este caso?
configurar tu postgres al formato que indicas
update pg_database set encoding=8 where datname='PRUEBA';
mira si te ayuda esta pagina
http://www.postgresql.org.es/node/341
en una seccion q dice
Solucion codificacion LATIN1 en postgres 8.4 "willdiman Mira Ing
a mi me sirve a unq no este en postgres 8.4 sino en 9.1
Muchas Gracias me sirvió bastante.
necesito el numero para WIN1252, de donde podría obtenerlo?
a mi si me cambia de una a otra, sin embargo la informacion de los campos character varying se elimina
saludos coloco la sintaxis "update pg_database set encoding=16 where datname='PRUEBA';" pero me dice que no encuentra el campo datname nose si tenga que cambiar "pg_database" en realidad nose de donde sale este nombre si es el contenedor de todas las base de datos en mi postgres se llama Databases sera que tengo que cambierlo por este.
Publicar un comentario