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