From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Calabaza Calabaza <calalinux(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Ordenar por FK el listado de TOC de un .backup |
Date: | 2007-07-23 17:01:39 |
Message-ID: | 20070723170139.GJ2540@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Calabaza Calabaza escribió:
> Yo estoy haciendo lo siguiente, a ver en que estoy mal:
>
> 1° Creo el archivo .backup de toda la BD.
>
> 2° Creo una archivo con la lista de contenidos del .backup con:
> pg_restore -l archivo.backup > toc.txt
>
> 3° Edito el archivo toc.txt y dejo solamente las entradas que digan TABLE
> DATA
>
> 4° Para restaurarlo con el pg_restore no utilizo el -a o -s solamente
> le digo que lea desde un el archivo con -L.
>
> Estoy bien?
El problema es que ya tienes las tablas creadas y con las FKs
declaradas. Lo que puedes hacer es agregar el switch a pg_dump (o es a
pg_restore) que borra las cosas antes de crearlas. De esa manera le
dices que borre las tablas y luego restaura los datos.
Lo que hace pg_dump es lo siguiente:
1. crea las tablas
2. inserta los datos
3. agrega las FKs
Con esta estrategia no hay problema con el orden en que insertes los
datos. En cambio lo que tu estas haciendo es (los dos primeros pasos
son implicitos: es el estado inicial de tu BD)
1. crea las tablas
2. agrega la FKs
3. inserta los datos
con lo cual obviamente tienes problemas para restaurar los datos.
Ademas, restaurar los datos cuando las FKs existen es mucho mas lento
que crear las FKs cuando los datos estan ingresados (en el primer caso,
cada registro chequea la existencia del registro al que hace referencia;
en cambio en el segundo caso, se hace una sola query que chequea todo el
conjunto de datos).
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2007-07-23 17:10:13 | Re: explain analyze |
Previous Message | Mario Gonzalez | 2007-07-23 16:56:46 | Re: int a date |