Pude realizar la migración desde 8.0
Por si sirve la información a otros, les comento algunas cosas:

Las complicaciones se dieron por varios factores:

   - Versión muy antigua de postgres
   - Codificación de datos de origen ascii con algunos caracteres no
   codificables en utf8
   - Utilización de campos large objects en el origen



Para la migración se utilizaron los siguientes recursos

   - Pg_dump (versión postgres destino) formato custom para tabla
   pg_largeobject (blobs)
   - Pg_dump  (versión postgres destino) formato plano para datos de
   esquema public
   - Programación en Python para detección y reemplazo de caracteres no
   codificables en utf8, actúa sobre el archivo salida del punto anterior.
   - Funciones plpgsql para el traspaso de large object a bytea


Saludos

El vie, 5 may 2023 a las 11:29, Guillermo E. Villanueva (<
guillermo...@gmail.com>) escribió:

> Buen día, en un sistema viejo, tengo una base de datos postgresql 8.0 la
> cual tiene tablas con columnas de tipo lo (large objects).
> Tengo que migrarlo a una versión mas actual de postgres y a las columnas
> de tipo lo las convertiré en bytea.
> Normalmente, para la migración de datos, usaba una herramienta que se
> llama ESF Migration, esta me permitió pasar datos hasta desde informix con
> columnas blob sin problemas, pero en este caso, no me está trayendo los
> datos correctamente, trae el id del objeto en vez de traer los datos
> completos.
>
> ¿Alguna sugerencia? pg_upgrade convierte large object en bytea? que otra
> opción? también intenté con pg_dump -Fc -b y luego pg_restore, pero me da
> error diciendo que no existe el tipo lo al querer restaurar.
>
> Desde ya muchas gracias
>
> Guillermo
>

Reply via email to