Al ejecutar un sistema de base de datos PostgreSQL, ¿cómo sé que mi base de datos en su conjunto tiene un 100% de integridad? Básicamente, ¿cómo sé si mis archivos y páginas de datos son todos 100% buenos sin corrupción?
En el mundo de Microsoft SQL Server hay un comando que puede ejecutar DBCC CHECKDB que le dirá si hay problemas. Aquí hay un enlace si está interesado en aprender más sobre el comando. DBCC CHECKDB (Transact-SQL)
Soy una persona paranoica de integridad de la base de datos (lo que debería ser cualquier persona que trabaje con la base de datos en un rol tipo DBA) y este tipo de cosas me dificulta dormir bien por la noche. ¡Una utilidad como esta es imprescindible! Las búsquedas en Google han encontrado algunos intentos de herramientas como esta y, en mi opinión, a menos que sea una herramienta oficialmente aceptada por el proyecto PostgreSQL, no confiaré en algo tan importante.
Aquí hay algunos enlaces a personas que hacen preguntas similares con lo que considero que no hay una respuesta definitiva real. Y en mi opinión muestra que PostgreSQL necesita tener algunas herramientas en su lugar que Oracle y Microsoft SQL Server parecen tener.
El primer enlace es el más interesante que he encontrado sobre este tema. Creo que un comentario sobre el artículo que probablemente lo resume dice: "Postgres es bastante tonto cuando se trata de identificar la corrupción de la base de datos y repararla. La única forma de detectarlo es volcando la base de datos o seleccionando * de cada tabla en la base de datos ".
Cómo PostgreSQL protege contra la escritura parcial de páginas y la corrupción de datos
Comprobación de datos y corrupción de archivos de índice - Dev Shed
Ayuda: ¡mi mesa está corrupta!
PostgreSQL: clave primaria corrupta, tabla inconsistente
Creo que existe la posibilidad de que 9.3 tenga algunas características de verificación de corrupción. Parece que puede haber esperanza de que se verifiquen los archivos de la página si se elige. Por lo tanto, las cosas se ven brillantes si considera usar ZFS y / o una versión futura de Postgres con suma de verificación de página. https://commitfest.postgresql.org/action/patch_view?id=759
ACTUALIZACIÓN: 14 DE ENERO DE 2012: parece que el uso de un sistema de archivos basado en ZFS puede detectar la corrupción al verificar cada bloque de datos. Tendré que investigar esto más a fondo y ver si esto es una solución alternativa para permitir que uno duerma bien por la noche sabiendo que los datos de su base de datos no se corrompen silenciosamente.
ACTUALIZACIÓN: 17-ENE-2012 - Cómo encontrar qué archivos están corruptos con ZFS. http://docs.oracle.com/cd/E18752_01/html/819-5461/gbbwl.html#gbcuz
ACTUALIZACIÓN: 14-ABR-2014 9.3 obtuvo sumas de verificación de datos. https://wiki.postgresql.org/wiki/What's_new_in_PostgreSQL_9.3