Re: [pgsql-es-ayuda] pg_restore con cambio de encriptación

From: "Miguel Beltran R(dot)" <yourpadre(at)gmail(dot)com>
To: I(dot)N(dot)T(dot) - Dpto(dot) programación <dpto(dot)programacion(at)grupo-int(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [pgsql-es-ayuda] pg_restore con cambio de encriptación
Date: 2011-10-17 15:57:48
Message-ID: CAEc04coGkuATpGG=eJy+hf2p1sYnRQLh0v6F0FfVE6R_=UYsJQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 17 de octubre de 2011 10:12, "I.N.T. - Dpto. programación" <
dpto(dot)programacion(at)grupo-int(dot)com> escribió:

> Hola a tod(at)s,
>
> Me ha surgido el siguiente problema pero no veo cómo solucionarlo, quizás
> la respuesta esté en la lista y ya se ha respondido, pero no he sido capaz
> de encontrarlo...
>
> El problema es que tenemos un servidor PostgreSQL cuyas bases de datos
> están con codificación LATIN1 y SQL_ASCII, que en su momento eran perfectas
> y han funcionado muy bien.
>
> Tenemos que migrarlas a un nuevo servidor porque el actual se ha quedado un
> poco obsoleto, pero éste último debe estar obligatoriamente en UTF8 (todas
> las bases de datos, por cuestiones de diferentes idiomas a almacenar en
> ellas: checo, eslovaco, etc...), es decir, una encriptación "universal"...
>
> Hacemos todos los días la copia de seguridad del anterior servidor con
> pg_dump, funcionando y recuperando (pg_restore) perfectamente los datos.
>
> La cuestión es que pg_restore no permite recuperar esas bases de datos
> (*.backup, LATIN1 y SQL_ASCII) sobre el nuevo servidor (UTF8). Me dice que
> la encriptación es incorrecta y no me recupera ningún dato.
>
> He mirado los parámetros de pg_restore y no veo cómo hacerlo.
>
> ¿Alguien podría orientarme sobre cómo puede hacerse? La forma "cutre" que
> se me ocurre es volcar las tablas del viejo servidor a Access y traspasarlas
> (con Access de nuevo, obviamente) al nuevo servidor, pero aparte de que me
> llevaría bastante más tiempo y no queremos tener parado al cliente
> excesivamente, me parece una auténtica chapuza...
>
> Cualquier ayuda al respecto (solución, enlace a página, etc...) será
> agradecida enormemente. Hay que tener en cuenta que la recuperación tendrá
> que mantener los caracteres especiales del español (tíldes, eñes, etc...)...
>
> Un saludo,
>
> Luis
>
> P.D.- Si necesitais más información de los sistemas que utilizamos en cada
> servidor (codificación, versiones, etc...) os las paso
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org
> **)
> Para cambiar tu suscripción:
> http://www.postgresql.org/**mailpref/pgsql-es-ayuda<http://www.postgresql.org/mailpref/pgsql-es-ayuda>
>

Sin probar se me ocurre algo asi (sin probar):
A tu respaldo con pg_dump cambia que cree la base de datos de LATIN-1 a UTF8
(un sed te puede ayudar - sed "s/LATIN-1/UTF8/g" )

En lugar de usar pg_restore usa psql con una variable de entorno
ENCODING=UTF8 pgsql < archivo.sql

--
________________________________________
Lo bueno de vivir un dia mas
es saber que nos queda un dia menos de vida

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Edwin Quijada 2011-10-17 16:36:46 RE: sugerencia
Previous Message Miguel Beltran R. 2011-10-17 15:27:35 Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] In Memoriam: Falleció Dennis Ritchie