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.