¿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.
