pg_checksums

pg_checksums — habilita, deshabilita o comprueba las sumas de comprobación de datos (checksums) en un clúster de bases de datos PostgreSQL

Synopsis

pg_checksums [option...] [[ -D | --pgdata ]datadir]

Descripción

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.

Opciones

Están disponibles las siguientes opciones de línea de comandos:

-D directory
--pgdata=directory

Especifica el directorio donde se almacena el clúster de bases de datos.

-c
--check

Comprueba las sumas de comprobación. Este es el modo predeterminado si no se especifica otra cosa.

-d
--disable

Deshabilita las sumas de comprobación.

-e
--enable

Habilita 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
--progress

Habilita 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
--verbose

Habilita la salida detallada. Muestra todos los archivos comprobados.

-V
--version

Muestra la versión de pg_checksums y termina.

-?
--help

Muestra ayuda sobre los argumentos de línea de comandos de pg_checksums y termina.

Entorno

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.

Notas

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.