Estos parámetros controlan el sistema de estadísticas acumulativas de todo el servidor.
Cuando está habilitado, se puede acceder a los datos recopilados a través de la
familia de vistas del sistema pg_stat y pg_statio.
Consulta la Chapter 27 para obtener más información.
track_activities (boolean)
#
Habilita la recopilación de información sobre el comando que se está ejecutando actualmente
en cada sesión, junto con su identificador y la hora en que ese comando comenzó su ejecución.
Este parámetro está activado por defecto. Ten en cuenta que incluso cuando está habilitado,
esta información solo es visible para los superusuarios, los roles con privilegios del rol
pg_read_all_stats y el usuario propietario de las sesiones sobre las que se
informa (incluidas las sesiones que pertenecen a un rol del cual tienen privilegios), por lo que
no debería representar un riesgo de seguridad. Solo los superusuarios y los usuarios con el
privilegio SET adecuado pueden cambiar esta configuración.
track_activity_query_size (integer)
#
Especifica la cantidad de memoria reservada para almacenar el texto del comando que se está
ejecutando actualmente para cada sesión activa, para el campo
pg_stat_activity.query.
Si este valor se especifica sin unidades, se toma como bytes.
El valor predeterminado es 1024 bytes.
Este parámetro solo se puede establecer al inicio del servidor.
track_counts (boolean)
#
Habilita la recopilación de estadísticas sobre la actividad de la base de datos.
Este parámetro está activado de forma predeterminada, ya que el demonio de autovacuum
necesita la información recopilada. Solo los superusuarios y los usuarios con el
privilegio SET adecuado pueden cambiar esta configuración.
track_cost_delay_timing (boolean)
#
Habilita la medición del tiempo del retraso de vacuum basado en coste (consulta la
Section 19.10.2). Este parámetro
está desactivado de forma predeterminada, ya que consultará repetidamente al sistema operativo
para obtener la hora actual, lo que puede causar una sobrecarga significativa en algunas
plataformas. Puedes usar la herramienta pg_test_timing para
medir la sobrecarga de la medición de tiempo en tu sistema. La información de tiempo de retraso
de vacuum basado en coste se muestra en
pg_stat_progress_vacuum,
pg_stat_progress_analyze,
en la salida de los comandos VACUUM y
ANALYZE cuando se utiliza la opción
VERBOSE, y por el autovacuum para
los auto-vacuums y auto-analyzes cuando está configurado
log_autovacuum_min_duration.
Solo los superusuarios y los usuarios con el privilegio SET
adecuado pueden cambiar esta configuración.
track_io_timing (boolean)
#
Habilita la medición del tiempo de las esperas de E/S de la base de datos. Este parámetro está desactivado de
forma predeterminada, ya que consultará repetidamente al sistema operativo para obtener
la hora actual, lo que puede causar una sobrecarga significativa en algunas plataformas.
Puedes usar la herramienta pg_test_timing para medir la sobrecarga de la
medición de tiempo en tu sistema. La información de tiempo de E/S se muestra
en la vista
pg_stat_database,
en la vista
pg_stat_io (si object
no es wal), en la salida de la función
pg_stat_get_backend_io() (si
object no es wal), en la
salida del comando EXPLAIN cuando se utiliza la opción BUFFERS,
en la salida del comando VACUUM cuando
se utiliza la opción VERBOSE, por el autovacuum
para los auto-vacuums y auto-analyzes cuando se establece log_autovacuum_min_duration, y por
pg_stat_statements.
Solo los superusuarios and los usuarios con el privilegio SET
adecuado pueden cambiar esta configuración.
track_wal_io_timing (boolean)
#
Habilita la medición del tiempo de las esperas de E/S del WAL. Este parámetro está desactivado de forma predeterminada,
ya que consultará repetidamente al sistema operativo para obtener la hora actual,
lo que puede causar una sobrecarga significativa en algunas plataformas.
Puedes usar la herramienta pg_test_timing para
medir la sobrecarga de la medición de tiempo en tu sistema.
La información de tiempo de E/S se muestra en la vista
pg_stat_io para el
object wal y en la salida de
la función
pg_stat_get_backend_io() para el
object wal.
Solo los superusuarios y los usuarios con el privilegio SET
adecuado pueden cambiar esta configuración.
track_functions (enum)
#
Habilita el seguimiento de los conteos de llamadas a funciones y el tiempo utilizado. Especifica
pl para realizar el seguimiento solo de las funciones de lenguajes procedimentales,
o all para realizar el seguimiento también de las funciones de lenguaje SQL y C.
El valor predeterminado es none, lo que desactiva el seguimiento de estadísticas
de funciones. Solo los superusuarios y los usuarios con el privilegio SET
adecuado pueden cambiar esta configuración.
Las funciones de lenguaje SQL que son lo suficientemente simples como para ser insertadas en línea (“inlined”) en la consulta que las llama no serán rastreadas, independientemente de esta configuración.
stats_fetch_consistency (enum)
#
Determina el comportamiento cuando se accede a las estadísticas acumulativas múltiples
veces dentro de una transacción. Cuando se establece en
none, cada acceso vuelve a obtener los contadores de la memoria
compartida. Cuando se establece en cache, el primer acceso a las
estadísticas de un objeto almacena en caché esas estadísticas hasta el final de la
transacción a menos que se llame a la función pg_stat_clear_snapshot().
Cuando se establece en snapshot, el primer acceso a las estadísticas almacena en
caché todas las estadísticas accesibles en la base de datos actual, hasta el
final de la transacción a menos que se llame a la función
pg_stat_clear_snapshot(). Cambiar este parámetro en una transacción
descarta la captura (snapshot) de las estadísticas.
El valor predeterminado es cache.
El valor none es el más adecuado para los sistemas de monitoreo. Si se accede a los
valores solo una vez, es el más eficiente.
El valor cache garantiza que los accesos repetidos devuelvan los mismos valores,
lo cual es importante para consultas que involucran autouniones (self-joins), por ejemplo.
El valor snapshot puede ser útil al inspeccionar interactivamente las
estadísticas, pero tiene una mayor sobrecarga, especialmente si existen muchos objetos en la
base de datos.
compute_query_id (enum)
#
Habilita el cálculo en el núcleo (in-core) de un identificador de consulta.
Los identificadores de consulta se pueden mostrar en la vista pg_stat_activity,
utilizando EXPLAIN, o emitirse en el registro si se configura mediante
el parámetro log_line_prefix. La extensión
pg_stat_statements también requiere que se calcule un identificador de consulta.
Ten en cuenta que se puede utilizar alternativamente un módulo externo si el método de cálculo
del identificador de consulta en el núcleo no es aceptable. En este caso, el cálculo en el núcleo
debe estar siempre desactivado. Los valores válidos son off
(siempre desactivado), on (siempre habilitado), auto,
lo que permite que módulos como pg_stat_statements lo
habiliten automáticamente, y regress que tiene el mismo
efecto que auto, excepto que el identificador de consulta no se
muestra en la salida de EXPLAIN para facilitar las pruebas
de regresión automatizadas. El valor predeterminado es auto.
Para asegurarse de que solo se calcule y muestre un identificador de consulta, las extensiones que calculan identificadores de consultas deberían lanzar un error si ya se ha calculado un identificador de consulta.
log_statement_stats (boolean)
log_parser_stats (boolean)
log_planner_stats (boolean)
log_executor_stats (boolean)
#
Para cada consulta, genera las estadísticas de rendimiento del módulo correspondiente
en el registro del servidor. Este es un instrumento de perfilado básico,
similar a la función del sistema operativo Unix getrusage().
log_statement_stats reporta las estadísticas de las sentencias totales,
mientras que los otros reportan estadísticas por módulo.
log_statement_stats no se puede habilitar junto con ninguna de las opciones
por módulo. Todas estas opciones están desactivadas de forma predeterminada.
Solo los superusuarios y los usuarios con el privilegio SET
adecuado pueden cambiar estas configuraciones.