Wilson del rosario escribió: > Efectivamente Manuel, cree la función con la tabla a la cual me estaba > apareciendo el error, encontré información que no debía estar en esa tabla, > elimine los registros, le pase un vacuum a la tabla y volví a ejecutar el > pg_dump y esta vez si dio resultado. > > Aunque para que lo tengan en cuenta, después de solucionar el error, > apareció otro que no se si estará relacionado o no : > > WARNING: invalid page header in block 94217 of relation base/16384/202367; > zeroing out page > ERROR: could not access status of transaction 2097195 > DETAIL: Could not open file "pg_clog/0002": No such file or directory. > > Lo cual solucioné de la siguiente forma: > cat 00AD | tr 'U' '0' > 0002 > chmod 600 0002 > > Este error ya me había sucedido antes y googleando encontre la solución, > pero no sé porque pasa, alguna idea del porque pasa esto ?
Hiih .. 1. estás ejecutando con zero_damaged_pages=on. Esto es peligroso, puede llevarte a perder datos. En el extracto de log que muestras arriba, el WARNING corresponde a una página que tenía una cabecera dañada, y como tienes ese parámetro activo, alegremente el servidor lo borró todo. No hay cómo saber qué es lo que había ahí antes. Recomiendo desactivar. 2. el "could not access status of transaction" puede ser una cabecera de tupla corrupta o bien puede ser que una tupla muy vieja sobrevivió a un evento al cual no debería. Quizás ahora tus datos tienen una inconsistencia por existir tuplas que no deberían (por ej. quizás tengas llaves primarias duplicadas, o un valor faltante referido por una FK desde otra tabla). Esta "solución" que aplicaste no es necesariamente lo más apropiado, y de todas formas está mal porque el '0' no debería ser un string con un cero (hex 0x30, octal \060) sino un valor de byte cero (hex 0x00, octal \000). Dados los múltiples problemas que se te han presentado yo sospecharía mucho que tu hardware está respondiendo mal. ¿Quizás tuviste una caída recientemente y el caché de escritura de los discos está activo? ¿Has tenido memtest funcionando en tu máquina durante algún tiempo? ¿La CPU quizás se recalienta con el exceso de carga y responde tonteras? -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, 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