Saludos select * from pg_class where relfilenode = 11760; No funciona porque no se puede acceder a la BD
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>) 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 > > 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>) > 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> >> wrote: >> >>> Buen día lista, >>> >>> Tengo el siguiente problema >>> >>> [image: 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 >>> >>> >>> >>> >>> >>> >>> >>>