Re: Intentando recuperar datos: pgsql 8.0.1 Windows

From: "Agustin Casiva" <casivaagustin(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Intentando recuperar datos: pgsql 8.0.1 Windows
Date: 2007-08-24 14:47:56
Message-ID: 646eb5870708240747y20743cc2qc1fece10d0db8c54@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 8/24/07, Luis Perruca <l(dot)perruca(at)gmail(dot)com> wrote:
> Hola al grupo:
> Estoy intentando recuperar una base de datos corrupta
> Tengo:
> Postgresql 8.0.1 en Windows 2003 Server.
> copia de la carpeta Data de la base de datos que quiero recuperar.
> backup antiguo de la base de datos.
>
> Para intentar recuperar una tabla, hago lo siguiente:
>
> Creo una base de datos en blanco y en ella restauro el backup, pero solo
> la estructura.
> Detengo Postgresql
> Miro el OID de la tabla que quiero recuperar en la base de datos nueva y
> en la corrupta.
> Sobreescribo el archivo correspondiente al OID de la base nueva con el
> archivo correspondiente de la corrupta.
> Inicio Postgresql.
> Entro en pgAdmin III.
> Accedo a la base de datos nueva.
> Sobre la tabla que intento recuperar:
>
> Elimino restricciones (PK, FKs, ....por si acaso).
> Hago Reindex: correcto.
> Hago ANALYZE: y sale: scanned 38 of 38 pages, containing 2467 live
> rows and 1563 dead rows; 2467 rows in sample, 2467 estimated total rows.
> (Deduzco que algo encuentra, y no da errores)
> Doy a Contar, y en las propiedades sale: Filas (estimadas) 2467 y
> Filas (contadas) no contadas. Por más veces que lo haga, siempre sale lo
> mismo.
> Hago VACUUM ANALYZE, y sale: found 0 removable, 4030 nonremovable
> row version in 38 pages DETAIL: 1563 dead row versions cannot be removed
> yet (y digo yo ¿no se pueden borrar?, pero si no las veo ;) ), además
> del mismo mensaje que cuando hago ANALYZE.
> Hago VACUUM FULL y sale, además de lo anterior: Nonremovable row
> versions range from 66 to 66 bytes long. There where 36 unused item
> pointers. Total free space (including removable row versions) is 4112
> bytes. 0 pages are or will become empty, including 0 at the end of the
> table. 1 pages containing 2632 free bytes are potential move
> destinations. Moved 0 row versions, truncated 38 to 38 pages.
> Aquí, el archivo con los datos ha pasado de tener unos 3 Megas a 304 K y
> sigo sin ver los datos.
>
> En fin, no sé si voy por buen camino, ¿alguien pe puede echar una mano?
> Agradezco por adelantado cualquier ayuda.
>

Pienso que estas por mal camino, yo no lo haría de esa manera, nada te
garantiza que el OID de tu tabla por recuperar sea el mismo que el de
la nueva tabla que creaste, al menos que hubieses creado la nueva
estructura con los OID anteriores.

Por que no levantas una instancia del servidor con el backup de data
que tienes, haces un Dump a la tabla que deseas recuperar.

pg_dump -f <archivo.txt> -t <tabla_recuperar> <basededatos>

Luego levantas tu nueva instancia de la base, y recuperas la tabla del dump.

psql -f <archivo.txt>

Saludos

--
Agustin Casiva
http://www.osis.com.ar
casivaagustin(at)gmail(dot)com
http://www.casivaagustin.com.ar

Para leer adjuntos necesitará Open Office http://es.openoffice.org/programa/

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Agustin Casiva 2007-08-24 14:51:01 Re: Alguna herramienta para comparar bases de datos
Previous Message Patricio Cifuentes Ithal 2007-08-24 14:45:55 RE: Empezar postgreSQL+postgis