Saltar al contenido

Recuperar bases de datos postgreSQL a partir de archivos físicos sin procesar

Solución:

Si tiene la carpeta de datos completa, tiene todo lo que necesita (siempre que la arquitectura sea la misma). Simplemente intente restaurarlo en otra máquina antes de borrar esta, en caso de que no haya copiado algo.

Simplemente guarde el directorio de datos en el disco. Al iniciar Postgres, configure el parámetro que le indica dónde está el directorio de datos (consulte: wiki.postgresql.org). O elimine el directorio de datos original de la instalación nueva y coloque la copia en su lugar.

Esto es posible, solo necesita copiar la carpeta “datos” (dentro de la carpeta de instalación de Postgres) de la computadora vieja a la nueva, pero hay algunas cosas a tener en cuenta.

Primero, antes de copiar los archivos, debe detener el servicio del servidor Postgres. Entonces, Panel de control-> Herramientas administrativas-> Servicios, busque el servicio Postgres y deténgalo. Cuando haya terminado de copiar los archivos y configurar los permisos, vuelva a iniciarlo.

En segundo lugar, debe configurar los permisos para los archivos de datos. Debido a que el servidor de Postgres realmente se ejecuta en otra cuenta de usuario, no podrá acceder a los archivos si simplemente los copia en la carpeta de datos, porque no tendrá permisos para hacerlo. Por lo tanto, debe cambiar la propiedad de los archivos al usuario “postgres”. Tuve que usar subinacl para esto, instalarlo primero y luego usarlo desde el símbolo del sistema como este (primero navegue a la carpeta donde lo instaló):

subinacl /subdirectories "C:Program FilesPostgreSQL8.2data*" /setowner=postgres

(Cambiar la propiedad también debería ser posible desde el explorador: primero debe deshabilitar “Usar uso compartido simple de archivos” en las opciones de Carpeta, luego aparecerá una pestaña “Seguridad” en el cuadro de diálogo Propiedades de la carpeta, y hay opciones allí para establecer permisos y cambiar de propietario, pero no pude hacerlo de esa manera).

Ahora, si el servicio del servidor no puede iniciarse después de volver a iniciarlo manualmente, normalmente puede ver el motivo en el Visor de eventos (Herramientas administrativas-> Visor de eventos). Postgres arrojará un evento de error e inspeccionarlo le dará una pista sobre cuál es el problema (a veces se quejará de un archivo postmaster.pid, simplemente elimínelo, etc.).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *