Consultar el background writer de PostgreSQL con pg_stat_bgwriter

pg_stat_bgwriter muestra los buffers gestionados por el proceso background writer y cuándo se reiniciaron sus estadísticas.

Terminal con los contadores de pg_stat_bgwriter de PostgreSQL

¿Quieres saber cuántos buffers ha escrito el background writer de PostgreSQL? Consulta pg_stat_bgwriter para ver sus contadores actuales y detectar si el proceso está haciendo trabajo de limpieza.

Consultar los contadores

Ejecuta esta consulta para ver los datos disponibles en la vista:


SELECT
    buffers_clean,
    maxwritten_clean,
    buffers_alloc,
    stats_reset
FROM pg_stat_bgwriter;

buffers_clean cuenta los buffers escritos por el background writer y buffers_alloc los buffers asignados. maxwritten_clean registra cuántas veces el proceso alcanzó el límite de páginas que podía escribir en una ronda.

Interpretar el resultado

Los valores son acumulados desde el último reinicio de estadísticas. stats_reset indica desde cuándo se están contando. Para comparar periodos, anota los valores y vuelve a consultar la vista más adelante; un contador alto, por sí solo, no demuestra un problema.

En PostgreSQL 17 y posteriores, las estadísticas de checkpoints se consultan en pg_stat_checkpointer. pg_stat_bgwriter conserva los contadores relacionados con la limpieza y la asignación de buffers.


SELECT
    num_timed,
    num_requested,
    write_time,
    sync_time,
    buffers_written,
    stats_reset
FROM pg_stat_checkpointer;

No confundas estas vistas con el tamaño de la caché compartida: muestran actividad acumulada, no el consumo actual de memoria.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *