[Pgsql-ayuda] Pg_Dump
Alvaro Herrera
alvherre@dcc.uchile.cl
Mon, 22 Dec 2003 14:54:11 -0300
On Mon, Dec 22, 2003 at 10:38:57AM -0600, Fher wrote:
> Hola he estado buscando informacion y no encuentro mucho la respecto,
> hice un respaldo de mi base con
>
> pg_dump database>database.dump
>
> ahora, tengo otra base donde ocupo unicamente 2 tablas de este respaldo,
> no quiero subir todo el respaldo pues es un poco tardado y las tablas que
> ocupo son pequeñas ¿habra alguna manera de sacar de este respaldo
> unicamente
> las tablas que necesito ?
Por supuesto ... esto es Unix, siempre hay maneras de hacer estas cosas.
Una manera sencilla seria mirar los numeros de linea donde estan las
sentencias CREATE TABLE y los datos (COPY) de cada una de esas tablas
usando grep; luego usas awk para extraer lo que esta dentro del rango de
interes. (Tambien puedes reemplazar el uso de ambas cosas con un script
sencillo en Perl usando $. y demas).
Para un amateur esto es mas bien complicadillo. Una solucion mas
sencilla seria usar los formatos binarios (-Ft y -Fc) a pg_dump, y luego
tomas la lista de objetos del dump (pg_restore -l creo), la editas
dejando sólo los objetos que quieres recuperar, y le devuelves ese
archivo a pg_restore.
Lo otro es directamente editar el archivo del dump, pero si es grande
vas a tener una que otra complicacion con el editor.
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"La conclusión que podemos sacar de esos estudios es que
no podemos sacar ninguna conclusión de ellos" (Tanenbaum)