RE: [pgsql-es-ayuda] Conversión desde MDB

From: "David Prieto" <davidp(at)sgth(dot)es>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: [pgsql-es-ayuda] Conversión desde MDB
Date: 2004-04-26 08:44:27
Message-ID: 012b01c42b6a$af2b3a30$1701a8c0@pcdavid
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola

Gracias a todos los que me respondieron a esta pregunta.

La solución de exportar las tablas a ficheros de texto con los
campos separados por tabuladores y luego importarlos con "copy" parece
ser la mejor. (increiblemente rápido).

Sobre las dudas que plantearon sobre el funcionamiento de pgadmin,
os comento que pgadmin usa transacciones a la hora de exportar. Puedes
decidir si todo el proceso se hace en una única transacción (para todas
las tablas), o si quieres que haga una transacción para cada tabla.

Un saludo,
David Prieto.

-----Mensaje original-----


No se si sera la panacea, pero creo que si exportas el contenido de las
tablas de access a algun formato para que despues puedas usar el comando
"copy" de postgresql, creo que puede ir bastante mas rapido.
Otro tema puede ser el commit... habria que ver si por cada insert que
esta haciendo el "migration tool" esta comiteando... si es asi claro que
va a tardar mas... habria que ver si se puede meter todo en una
transaccion (o por lo menos la insercion de cada tabla en una
transaccion). Desconozco si esto es posible con esa herramienta, no la
use nunca.
Una intermedia entre las 2 seria generar los inserts a partir del access
y despues hacer los inserts en el postgresql teniendo en cuenta que hay
que abrir una transaccion al principio y luego cerrarla, sin autocommit
(creo que esta desactivado por default, en las 7.X, pero la verdad es
que tampoco lo tengo fresco en la memoria).

Hacer esto ultimo o lo primero te va a demandar mas tiempo y no es
automatico, pero vos tenes mas control de lo que estas haciendo y de
como lo estas haciendo.

--
Fernando O. Papa
DBA

-----Mensaje original-----
De: pgsql-es-ayuda-owner(at)postgresql(dot)org
[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de David Prieto
Enviado el: viernes, 16 de abril de 2004 5:17
Para: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: [pgsql-es-ayuda] Conversión desde MDB

Hola

Tengo que convertir una base de datos de más de 500Mb de
MS-Access a PostgreSQL.

Estoy usando el plugin "Database Migration Tool" de pgAdmin II
(¿existe este plugin para pgAdmin III?).

Funciona de maravilla, pero el problema que tengo es que es
lentísimo. Para tablas grandes (unos 200.000 registros de unos 50
campos) puede tardar bastante más de una hora, ya que esto realmente
está haciendo 200.000 "insert into….". El proceso completo, si no hay
errores, tarda unas 4 horas.

He comprobado que, una vez convertida la base de datos, hago un
pg_dump (genera un archivo de casi 500Mb) y luego un "dropdb /
createdb…" + restaurar el pg_dump y tarda menos de dos minutos.

¿Sabéis si existe alguna herramienta que genere un archivo en el
formato del "pg_dump" a partir de un mdb?

¿Alguna otra idea para convertir el mdb a postgresql?

Un saludo,
David Prieto.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message cba salas 2004-04-26 21:50:30 Como conecto visual basic con postgresql
Previous Message Juan Carlos Medina Ruiz 2004-04-25 02:15:26 Seguridad Postgres