Ahora que el incendio esta apagado, tu pega es hacer un script que se ejecute 
cada día y que saque un respaldo. mucho mejor si puedes configurar un 
hot-standby.

> On 27/03/2019, at 1:15 PM, Jairo Graterón <jgrate...@gmail.com> wrote:
> 
> ¡Gracias! Horacio 
> 
> Este thread es bueno, dedos cruzados que solo es un indices.
> https://grokbase.com/t/postgresql/pgsql-general/12a3rb6p15/postgres-will-not-start-due-to-corrupt-index
>  
> <https://grokbase.com/t/postgresql/pgsql-general/12a3rb6p15/postgres-will-not-start-due-to-corrupt-index>
> 
> Puedes subir la base de datos con la opción -P  ( hagas lo que hagas no 
> toques el respaldo que tienes ). 
> 
> Logré acceder a la BD con las instrucciones, hice reindex  y puedo ver toda 
> la información.
> 
> Compartiré los pasos
> 
> 1. Paré el servicio de postgres
> 2. desde la consola inicié el programa postgres.exe
>     postgres  --single -D "C:\Program Files\PostgreSQL\9.2\data" -P mydb
> 4. reindex database mydb;
> 5. cerré la consola 
> 6. inicié el servicio y listo ya se puede acceder desde pgadmin.
>> 
>> select * from pg_class where relfilenode = 11760; 
> 
> Ésta relación ya no existe, seguramente era un índice.
> 
> Saludos.
> 
> 
> 
> 
> 
> El lun., 25 mar. 2019 a las 18:41, Horacio Miranda (<hmira...@gmail.com 
> <mailto:hmira...@gmail.com>>) escribió:
> 
> 
>> On 26/03/2019, at 11:10 AM, Jairo Graterón <jgrate...@gmail.com 
>> <mailto:jgrate...@gmail.com>> wrote:
>> 
>> Saludos
>> 
>> select * from pg_class where relfilenode = 11760; 
>> No funciona porque no se puede acceder a la BD
> 
> Este thread es bueno, dedos cruzados que solo es un indices.
> https://grokbase.com/t/postgresql/pgsql-general/12a3rb6p15/postgres-will-not-start-due-to-corrupt-index
>  
> <https://grokbase.com/t/postgresql/pgsql-general/12a3rb6p15/postgres-will-not-start-due-to-corrupt-index>
> 
> Puedes subir la base de datos con la opción -P  ( hagas lo que hagas no 
> toques el respaldo que tienes ). 
> 
>> Hice el checkdisk y hay fallas en el disco duro, es más la máquina ya no 
>> arranca.
>> 
>> Logré respaldar la carpeta DATA de postgres y lo copie en otra máquina con 
>> su misma versión de postgres pero igualmente no se puede acceder a la BD.
>> 
>> usé el programa reindex y da el mismo error, cree un archivo con el mismo 
>> nombre sin bytes y aparece "Fatal: índice pg_attribute_relid_attnum_index 
>> contiene páginas vacías no esperadas en el bloque 0"
>> 
>> 
>> Así que restauraremos la copia que tengo del año pasado y ellos revisaran 
>> los reportes diarios para recuperar las ventas y cobranzas.
>> 
>> 
>> Ojo no soy el administrador de sistemas de la empresa, sólo instalé el 
>> sistema hace varios años, en su momento les indiqué que hicieran respaldos 
>> diarios, comprar discos redundantes y un UPS para ese equipo.
>> 
>> Gracias por sus respuestas.
>> 
>> 
>> 
>> 
>> 
>> El sáb., 23 mar. 2019 a las 18:24, Horacio Miranda (<hmira...@gmail.com 
>> <mailto:hmira...@gmail.com>>) escribió:
>> Algunas cosas que hago cuando hay problemas Comentarios entre lineas. 
>> 
>> On 24/03/2019 5:29 AM, Jairo Graterón wrote:
>>> Hola Lucas
>>> 
>>> Si el servidor Postgres arranca correctamente, no se puede hacer backup ya 
>>> que da error al acceder a la BD de la empresa
>> Hay varios tipos de respaldos, si no puedes hacer un respaldo lógico, hace 
>> un respaldo físico ( copia todo a otra maquina no otro directorio o disco en 
>> ese servidor ). ( usa discos remotos montados de forma local ), que tamaño 
>> estamos hablando ? Tienes otra maquina similar supongo ? 
>>> 
>>> Al igual que pg_admin desde la línea de comandos puedo iniciar sesión desde 
>>> la BD por default de postgres, pero luego cuando cambio a BD de producción 
>>> aparece el error.
>>> 
>> Antes de ver la base de datos asegurate que la maquina este bien ( que 
>> maquina es ? sí es una HP/DELL/Cisco, etc ) revisa que el cache de la 
>> controladora este online y los discos no esten esperando una acción, sí 
>> tienes mala suerte el archivo estaba en el cache a la hora de la falla, sí 
>> esto llegara a ser correcto, es un proceso temporal que crea y borra tablas 
>> y puede que tengas suerte ).
>> 
>> Sí es S.O. Lo que puedes tratar ( sí no has escrito nada en la maquina ) 
>> recuperar ese archivo con testdisk ( pero debes saber lo que estas haciendo 
>> y despues de sacar un respaldo ) la regla es no usar el disco con problemas 
>> para asegurarte que no se escriban los bloques ( lo ideal es tener el 
>> postgresql en otra particion ). 
>> https://www.cgsecurity.org/wiki/TestDisk_Download 
>> <https://www.cgsecurity.org/wiki/TestDisk_Download>Paré el servicio postgres 
>> e hice un respaldo del directorio BASE, 
>>> 
>>> Voy a revisar el visor de logs de postgres a ver si encuentro el porque se 
>>> borró ese archivo.
>>> 
>> No creo que pilles el por que... revisa el disco con checkdisk, y carga el 
>> respaldo en otra maquina ( se que tienes un respaldo, pero esta probado ? ).
>> 
>> 
>> 
>> PS: Moraleja, los respaldos se deben sacar de forma automática, no confíes 
>> en humanos para hacer tareas de maquinas y debes tener un DR plan ( 
>> respaldos fuera de la maquina y/o respaldados en dos lugares. En lo personal 
>> saco respaldo semanales, mensuales y anuales con retención 4 en cada ítem 
>> para bases importantes en un Storage remoto en otro datacenter. ( paranoico 
>> pero eso me salvo la vida una vez una carga de datos errónea que necesite un 
>> respaldo de 2 años atrás ).
>> 
>>> El sáb., 23 mar. 2019 a las 11:49, Lucas Luengas (<lucasluen...@gmail.com 
>>> <mailto:lucasluen...@gmail.com>>) escribió:
>>> Hola.
>>> 
>>> Lo primero que yo haría sería comprobar si la base de datos arranca y para 
>>> correctamente. Aunque quizás no se acceda a todos sus objetos.
>>> Si la base de datos arranca y para correctamente, lo primero que yo haría 
>>> sería hacer un backup del estado actual antes de proceder con ninguna 
>>> acción (suponiendo que se pueda hacer backup, espero que sí).
>>> 
>>> Lo segundo que haría sería revisar los logs postgres y el visor de sucesos 
>>> de Windows porque algunos mensajes iniciales de Postgres en entorno Windows 
>>> se muestran en el visor de sucesos y quizás puedan ser de interés. A partir 
>>> de los logs puedes investigar más a fondo.
>>> 
>>> Lo tercero: por la captura de pantalla, el error lo ofrece Pgadmin. ¿Lo 
>>> ofrece al acceder a alguna tabla en concreto, a todas las tablas, al 
>>> conectar a la base de datos?
>>> 
>>> Lo cuarto: comprueba si se puede entrar a la base de datos por línea de 
>>> comandos vía psql, y en caso afirmativo si puedes hacer select de las 
>>> tablas de la base de datos.
>>> 
>>> Lo que he comentado no soluciona el problema, pero ayuda a averiguar el/los 
>>> problemas concretos de fondo.
>>> 
>>> Saludos.
>>> 
>>> 
>>> 
>>> 
>>> 
>>> On Sat, Mar 23, 2019 at 3:23 PM Jairo Graterón <jgrate...@gmail.com 
>>> <mailto:jgrate...@gmail.com>> wrote:
>>> Buen día lista,
>>> 
>>> Tengo el siguiente problema
>>> 
>>> <image.png>
>>> 
>>> Ocurrió al apagarse repentinamente el servidor porque falló el sistema 
>>> eléctrico y su sistema de respaldo.
>>> 
>>> El administrador de sistema no hizo los respaldos respectivos y no hay 
>>> backup de éste año.
>>> 
>>> Es una empresa pequeña y tiene un servidor con postgres 9.2. corriendo 
>>> sobre  Windows 7.
>>> 
>>> Ese sistema lo instalé hace como 10 años y la BD nunca había dado problemas.
>>> 
>>> Alguna sugerencia de cómo recuperar la BD?
>>> 
>>> PD.
>>> 
>>> Tengo un respaldo del año pasado, no se si sirva para algo.
>>> 
>>> Gracias
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
> 

Reply via email to