Guillermo Garviso Aubá escribió:
> Buenos Dias, Soy Guillermo y tengo el presente problema "heredado", tenemos 
> un servidor que trabaja con CentOS y PostGreSQL 8.3, el cual se quemo y por 
> motivos que desconozco, el administrador de la base de datos nunca pudo 
> generar los backups de las mismas, para lo cual ahora me encuentro yo con el 
> problema de como rescatar la BD.
> Lo que actualmente hice es montar el disco mediante USB a mi PC con Windows 
> mediante Ext2Fsd, en el cual busco extraer el archivo directamente de la 
> carpeta de Postgres, pero es acá donde no manejo el sistema, para lo cual les 
> solicito su ayuda con este tema.
> Lo que busco es extraer el archivo de la BD de Postgres del Disco Externo con 
> Linux en Windows y poder transformarlo a un formato exportable/importable en 
> otro servidor con Postgres, nose si esto sera técnicamente posible, de lo 
> contrario agradecería me indique algún modo de solución al problema para 
> poder extraer la BD de un Linux que no esta operativo, Muchas Gracias.        
>                             

Paso número cero: crea un respaldo físico del disco que sacaste del
servidor quemado.  No te ahorres este paso, a menos que valores poco los
datos.  Si "es que no tengo espacio en disco", compra uno nuevo.

Paso uno: encontrar el PGDATA (directorio de datos).  Necesitas todos
los archivos que están dentro del directorio de datos, y además todos
los archivos que estén en directorios de tablespaces.  Para encontrar el
directorio de datos puedes buscar un directorio llamado "pg_global"; el
directorio que lo contiene es el directorio de datos.  A continuación,
mira el subdirectorio pg_tblspc: cada tablespace tiene un symlink (o en
Windows, un junction) ahí dentro.  Si está vacío, entonces eureka ya
tienes todo.

Paso dos: necesitas un Postgres compilado igual que el que tenía el
servidor quemado, y levantar el servicio haciendo que su pgdata apunte
al directorio de datos.  No te sirve correr Postgres en Linux, porque el
directorio de datos no es compatible.  [No se te ocurra hacer initdb]

Paso tres: ya que el servicio está corriendo con los datos antiguos, haz
un respaldo completo con pg_dump/pg_dumpall y restaura en un servidor
que hayas forrado previamente en kevlar.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a