Hola Edgar:

On Fri, 29 Jul 2022 at 23:10, Edgar Cruz Espinoza
<edgarcruzespin...@hotmail.com> wrote:
> Buenas tardes, si pueden ayudarme por favor, tengo el siguiente problema. 
> Actualmente estoy trabajando con postgresql version 12. pero necesito generar 
> un backup de una base de datos para poder actualizar en un equipo de un 
> cliente que tiene instalado postgresql version 9.1.6. Puedes indicarme como 
> bajo de version para poder restaurar en el equipo del cliente?.

Veamos, aqui tienes toda una serie de problemas, y hay algunos datos
mas que podrias incluir. Como ya te comenta HM si tu base de datos es
simple es posible qeu puedas restaurar sin mas, pero para empezar
habria que saber:

.- Tiene datos a preservar el cliente en su BD o quieres simplemente
borrarla y planchar la tuya encima?
.- Que ventana de tiempo tienes ? ( cuanto tiempo puedes tener offline
al cliente )
.- Es un proceso one-shot o esperas tener que repetirlo ?
.- Que tamaño tiene la base de datos ( o su backup ) ( hay estrategias
que son mas faciles si la BBDD se puede, p.e., volcar en texto y tocar
un poco el volcado )?
.- Puedes instalarte una 9.1./ 9.x temporal ( para restaurar en esa,
volcarla y luego cargarla )?
.- Como andas de scripting ( para hacer 4 cositas en shell / perl si
te hiciera falta ) ?

Yo hice algo asi en sus tiempos con una 7.x si no recuerdo mal,
reteniendo los datos, no fue complicado, basicamente hice un volcado
en -Fc ( que te deja mucha flexibilidad posterios ) de la 8.x que
queria y la 7.x que tenia, y me curre un script que hacia creacion de
tablas con un restore solo-schema de la 8.x un pelin editado a mano (
ya estaba estable ) mas uno de datos con restores parciales de la 7.x
pasados por microsripts para poner/quitar/mover algunas columnas.

Si lo que quieres es pasar la BD completa normalmente puedes, a partir
de un dump en custom, sacar scripts de creacion que luego editas un
poco si hay que moverlos y comandos de restauracion de tablas ( el
pg_restore, si no recuerdo mal, utiliza COPY en formato texto, con lo
que puedes sacar de un dump un create-table, tocarlo un poco manual o
automaticamente si hay pequeños problemas de tipo, decirle luego que
te meta los datos y luego que te cree los indices y otras movidas,
para eso viene muy bien la funcion que tiene de listar el catalogo de
backup, que te separa las cosas en orden ).

En general depende un poco de lo que vayas a querer hacer exactamente,
pero no si no te has engolfao con funciones avanzadas de la 12 suele
ser bastante asequible, y en muchas ocasiones trivial, pero hay que
saber un poco mas de lo que tienes para poder recomendar nada. Yo te
recomendaria sacar un backup, conectarte al servidor del cliente y
empezar por restaurar SOLO el schema ( que es rapido ) en una BD
temporal ( casi todos los problemas que puedas tener saltaran ahi, y
de eso puedes ver como corregirlos, en algun caso similar que he hecho
bastaba con coger el catalogo de restauracion ( eso es lo que te da
pg_restore -l, lo que yo hacia era partir ese TOC que te da en cachos
para poder parar y/o editar algunas cosas, metiendolo todo en un
script, y luego ir haciendo -L con los cachos con algunas cositas
intermedias, todo en un script gigante ) ).

Francisco Olarte.


Reply via email to