Carlos T. Groero Carmona escribió: > Les comento que me esta pasando, tengo un backup de 170 GB, y necesito > extraer solo dos tablas de ese backup, la ventana de tiempo que tengo para > realizar esta operacion es de unas pocas horas, asi que estoy investigando > si hay alguna manera de extraer de mi full_backup solo la informacion de > estas dos tablas directo a otro pequeno_backup, de esa manera solo > utilizaria una infima porcion de tiempo en mi restauracion. > > Se que usando pg_restore o psql puedo restaruar especificas tablas, pero > imagino que el motor de postgres tiene que recorer los 170 GB de > informacion de todas maneras.
¿en qué formato está el backup? Si es pg_dump -Fc o -Fd, pg_restore puede extraer las tablas que necesitas sin recorrer todo. pg_restore puede poner la salida en una BD, o bien puede tirarla a un archivo de texto plano; no sabe cómo crear un nuevo backup "pequeño" conteniendo sólo esas tablas. Una opción es restaurar a una BD y a continuación ejecutar pg_dump para crear el pequeño a partir de esa. Otra opción (que no creo que valga la pena investigar, por engorrosa) sería usar el formato "tar" de pg_dump. Quizás con la misma herramienta "tar" puedas extraer los archivos que te interesan y formar el dump pequeño. Entiendo que tampoco es necesario recorrer el tar completo, pero no estoy seguro. Si tu backup está en formato de texto plano, mala suerte. Saca otro. Saludos -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services