Excerpts from Vladimir Damian's message of mar ene 04 13:06:28 -0300 2011: > Tengo una base de datos extremadamente grande y se desea armar una base de > datos para desarrollo y esta debe tener un numero limitado de registros > no se dispone de un backup o politica parecida. y ante la necesidad > expuesta, deseo me orienten en el tema. > > me explico: > > 1. O hacer que todas las tablas solo resguarden ejemplo 1,000 por tabla o > 2. Poder determinar la cantidad de registros por cada tabla.
Esto no es un problema trivial, pero lo he visto descrito antes (creo que en una charla en el 10th Anniversary Summit, pero no me acuerdo bien). Creo que deberías escribir un sistema que te permita hacer un traspaso filtrado de datos; pero no simplemente copiar 1000 registros al azar de cada tabla (ni los 1000 primeros), sino que debería ser configurable. Además, muchas tablas tendrán llaves foráneas definidas, y tu sistema de traspaso debe permitir que se copien los valores correctos dependiendo de las FKs. Por otro lado, aquellas tablas que definan "categorías" de cosas deben copiarse completas. Me parece que deberías pensar en diseñar un pequeño modelo de apoyo que indique qué tablas se copian completas, cuáles se copian parcialmente, y para estas últimas, criterios que permitan determinar qué datos copiar desde otras tablas (FKs). Luego programas un sistema para hacer la copia en forma automatizada basándose en ese modelo. A futuro, cuando crees nuevas tablas, etc, puedes refrescar tu base de pruebas simplemente agregando las nuevas tablas al modelo y re-ejecutando el programa de copia. Me da la sensación de que si los registros a copiar se escogen al azar, el sistema de pruebas podría no ser representativo de lo que quieres emular; por ej. si el cliente XYZ tiene 1000 facturas más que otros clientes, y resulta que ejecutas la copia y el cliente XYZ no se copia porque por azar no fue escogido, las pruebas pueden salir todas bien en el servidor de pruebas, pero en producción te puedes llegar a encontrar con que algunas consultas son muy lentas para ese cliente. Si este es un problema importante para ti quizás deberías permitir indicar registros específicos que copiar incondicionalmente. -- Álvaro Herrera -- Se vende casa en Ñuñoa: www.portalinmobiliario.com/993147 - Enviado a la lista de correo pgsql-es-ayuda ([email protected]) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda
