pg_checksums — habilita, deshabilita o comprueba las sumas de comprobación de datos (checksums) en un clúster de bases de datos PostgreSQL
pg_checksums [option...] [[ -D | --pgdata ]datadir]
pg_checksums comprueba, habilita o deshabilita las sumas de comprobación de datos (checksums) en un clúster de PostgreSQL. El servidor debe estar apagado limpiamente antes de ejecutar pg_checksums. Al verificar las sumas de comprobación, el estado de salida es cero si no hay errores de suma de comprobación, y distinto de cero si se detecta al menos un fallo de suma de comprobación. Al habilitar o deshabilitar las sumas de comprobación, el estado de salida es distinto de cero si la operación falló.
Al verificar las sumas de comprobación, se escanea cada archivo en el clúster. Al
habilitar las sumas de comprobación, cada bloque de archivo de relación con una suma de comprobación modificada se
reescribe en el lugar.
Deshabilitar las sumas de comprobación solo actualiza el archivo pg_control.
Están disponibles las siguientes opciones de línea de comandos:
-D directory--pgdata=directoryEspecifica el directorio donde se almacena el clúster de bases de datos.
-c--checkComprueba las sumas de comprobación. Este es el modo predeterminado si no se especifica otra cosa.
-d--disableDeshabilita las sumas de comprobación.
-e--enableHabilita las sumas de comprobación.
-f filenode--filenode=filenode
Solo valida las sumas de comprobación en la relación con el filenode
filenode.
-N--no-sync
Por defecto, pg_checksums esperará a que todos los archivos
se escriban de forma segura en el disco. Esta opción hace que
pg_checksums devuelva el control sin esperar, lo que es
más rápido, pero significa que un fallo posterior del sistema operativo puede dejar
corrupto el directorio de datos actualizado. Generalmente, esta opción es útil
para pruebas pero no debe utilizarse en una instalación de producción.
Esta opción no tiene efecto cuando se utiliza --check.
-P--progressHabilita el informe de progreso. Activar esto ofrecerá un informe de progreso mientras se comprueban o habilitan las sumas de comprobación.
--sync-method=method
Cuando se establece en fsync, que es el valor predeterminado,
pg_checksums abrirá y sincronizará de forma recursiva
todos los archivos en el directorio de datos. La búsqueda de archivos seguirá
los enlaces simbólicos para el directorio WAL y cada tablespace configurado.
En Linux, se puede usar syncfs en su lugar para solicitar al
sistema operativo que sincronice todos los sistemas de archivos que contienen el
directorio de datos, los archivos WAL y cada tablespace. Consulta
recovery_init_sync_method para obtener información sobre
las advertencias que debes tener en cuenta al usar syncfs.
Esta opción no tiene efecto cuando se utiliza --no-sync.
-v--verboseHabilita la salida detallada. Muestra todos los archivos comprobados.
-V--versionMuestra la versión de pg_checksums y termina.
-?--helpMuestra ayuda sobre los argumentos de línea de comandos de pg_checksums y termina.
PGDATA
Especifica el directorio donde se almacena el clúster de bases de datos;
se puede anular mediante la opción -D.
PG_COLOR
Especifica si se debe usar color en los mensajes de diagnóstico. Los valores posibles
son always, auto y
never.
Habilitar las sumas de comprobación en un clúster grande puede llevar potencialmente mucho tiempo. Durante esta operación, el clúster u otros programas que escriban en el directorio de datos no deben iniciarse, o de lo contrario podría ocurrir una pérdida de datos.
Cuando se utiliza una configuración de replicación con herramientas que realizan copias directas de bloques de archivos de relación (por ejemplo, pg_rewind), habilitar o deshabilitar las sumas de comprobación puede provocar corrupciones de páginas en forma de sumas de comprobación incorrectas si la operación no se realiza de manera consistente en todos los nodos. Por lo tanto, al habilitar o deshabilitar las sumas de comprobación en una configuración de replicación, se recomienda detener todos los clústeres antes de cambiarlos todos de manera consistente. Destruir todos los standbys, realizar la operación en el primario y finalmente recrear los standbys desde cero también es seguro.
Si pg_checksums se aborta o se interrumpe mientras se habilitan o deshabilitan las sumas de comprobación, la configuración de las sumas de comprobación de datos del clúster permanece sin cambios, y se puede volver a ejecutar pg_checksums para realizar la misma operación.